太阳城集团

  • / 37
  • 下载费用:30 金币  

数据存储方法、存储器控制电路单元与存储器存储装置.pdf

摘要
申请专利号:

CN201410159463.2

申请日:

2014.04.21

公开号:

CN105022695A

公开日:

2015.11.04

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 12/02申请日:20140421|||公开
IPC分类号: G06F12/02 主分类号: G06F12/02
申请人: 群联电子股份有限公司
发明人: 梁鸣仁
地址: 中国台湾苗栗县竹南镇群义路1号
优先权:
专利代理机构: 北京同立钧成知识产权代理有限公司11205 代理人: 臧建明
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201410159463.2

授权太阳城集团号:

|||

法律状态太阳城集团日:

2015.12.02|||2015.11.04

法律状态类型:

实质审查的生效|||公开

摘要

太阳城集团本发明提供一种数据存储方法、存储器控制电路单元与存储器存储装置。本方法包括记录每一物理抹除单元的每一预设区域的错误比特数目;且判断是否物理抹除单元的物理程序化单元的其中一个预设区域的错误比特数目大于错误比特数目门槛值。本方法还包括倘若物理抹除单元的物理程序化单元的其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,对此物理抹除单元进行抹除操作之后,使用第二程序化模式来存储数据。基此,本发明的数据存储方法可有效地使用不良的物理抹除单元,达到能够延长存储器存储装置的寿命的效用。

权利要求书

权利要求书
1.  一种数据存储方法,用于一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,且每一该些物理抹除单元的该些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元,该数据存储方法包括:
选择该些物理抹除单元之中的一第一物理抹除单元,其中该第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域;
使用一第一程序化模式来存储一第一数据,其中该第一数据被程序化至该第一物理抹除单元的该些下物理程序化单元的至少其中之一与该些上物理程序化单元的至少其中之一;
记录该第一物理抹除单元的每一该些预设区域的一错误比特数目;
判断是否该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于一错误比特数目门槛值;以及
倘若该第一物理抹除单元的该些物理程序化单元的该些预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,在将该第一物理抹除单元中的该第一数据抹除之后,使用一第二程序化模式来存储一第二数据,
其中使用该第一程序化模式对该可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数大于使用该第二程序化模式对该可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数。

2.  根据权利要求1所述的数据存储方法,其特征在于,该第二程序化模式包括:
一单层存储单元模式以及一下物理程序化模式至少其中之一,
其中在该单层存储单元模式中,一个存储单元只存储有一个比特的数据,其中在该下物理程序化模式中,只有该些下物理程序化单元会被程序化。

3.  根据权利要求1所述的数据存储方法,其特征在于,还包括:
在将该第一物理抹除单元中的该第一数据抹除之前,判断该第一数据是否为有效的数据;以及
倘若该第一数据是有效的数据时,将该第一数据复制至该些物理抹除单元之中的一第二物理抹除单元中,并将原映射该第一物理抹除单元的一逻辑单元重新映射至该第二物理抹除单元,
其中该第二物理抹除单元的任一预设区域的错误比特数目非大于该错误比特数目门槛值。

4.  根据权利要求1所述的数据存储方法,其特征在于,还包括:
倘若该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,记录该第一物理抹除单元于一第二程序化模式物理抹除单元分布表中。

5.  根据权利要求1所述的数据存储方法,其特征在于,还包括:
倘若该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,标记该第一物理抹除单元为一第二程序化模式物理抹除单元。

6.  根据权利要求1所述的数据存储方法,其特征在于,还包括在上述使用该单层存储单元模式来存储该第二数据的步骤之前,以一单层存储单元模式抹除指令对该第一物理抹除单元执行一抹除操作。

7.  根据权利要求1所述的数据存储方法,其特征在于,还包括:
判断该第一物理抹除单元是否已被记录在该第二程序化模式物理抹除单元分布表中;
倘若该第一物理抹除单元已被记录在该第二程序化模式物理抹除单元分布表中时,使用该单层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作;以及
倘若该第一物理抹除单元非被记录在该第二程序化模式物理抹除单元分布表中时,使用一多层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作。

8.  根据权利要求1所述的数据存储方法,其特征在于,还包括:
判断该第一物理抹除单元是否已被标记为该第二程序化模式物理抹除单元;
倘若该第一物理抹除单元已被标记为该第二程序化模式物理抹除单元时,使用该单层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操 作;以及
倘若该第一物理抹除单元非被标记为该第二程序化模式物理抹除单元时,使用一多层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作。

9.  一种数据存储方法,用于一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,且每一该些物理抹除单元的该些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元,该数据存储方法包括:
接收一第一数据;
选择该些物理抹除单元之中的一第一物理抹除单元,其中该第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域;
判断是否该第一物理抹除单元的该些物理程序化单元之中的一第一物理程序化单元的预设区域之中的至少其中一个预设区域的一错误比特数目大于一错误比特数目门槛值;以及
倘若该第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,将该第一数据程序化至该第一物理抹除单元的该些物理程序化单元之中的一第二物理程序化单元。

10.  根据权利要求9所述的数据存储方法,其特征在于,还包括:倘若该第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,将一虚拟数据程序化至该第一物理程序化单元。

11.  根据权利要求9所述的数据存储方法,其特征在于,还包括:该第二物理程序化单元不同于该第一物理程序化单元且该第二物理程序化单元每一预设区域的错误比特数目皆非大于该错误比特数目门槛值。

12.  根据权利要求9所述的数据存储方法,其特征在于,每一该些物理程序化单元可存储至少一个错误检查与校正框,
其中所述预设区域的大小为该错误检查与校正框的大小。

13.  一种存储器控制电路单元,其特征在于,用于控制一可复写式非易失性存储器模块,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,且每一该些物理抹除单元的该些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以选择该些物理抹除单元之中的一第一物理抹除单元,其中该第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域,
其中该存储器管理电路还用以使用一第一程序化模式来存储一第一数据,其中该第一数据被程序化至该第一物理抹除单元的该些下物理程序化单元的至少其中之一与该些上物理程序化单元的至少其中之一,
其中该存储器管理电路还用以记录该第一物理抹除单元的每一该些预设区域的一错误比特数目,
其中该存储器管理电路还用以判断是否该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于一错误比特数目门槛值,其中
倘若该第一物理抹除单元的该些物理程序化单元的该些预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器管理电路在将该第一物理抹除单元中的该第一数据抹除之后,使用一第二程序化模式来存储一第二数据,
其中使用该第一程序化模式对该可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数大于使用该第二程序化模式对该可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数。

14.  根据权利要求13所述的存储器控制电路单元,其特征在于,该第二程序化模式包括:
一单层存储单元模式以及一下物理程序化模式至少其中之一,
其中在该单层存储单元模式中,一个存储单元只存储有一个比特的数据,其中在该下物理程序化模式中,只有该些下物理程序化单元会被程序化。

15.  根据权利要求13所述的存储器控制电路单元,其特征在于,还包括:
在将该第一物理抹除单元中的该第一数据抹除之前,该存储器管理电路 还用以判断该第一数据是否为有效的数据,其中
倘若该第一数据是有效的数据时,该存储器管理电路便将该第一数据复制至该些物理抹除单元之中的一第二物理抹除单元中,并将原映射该第一物理抹除单元的一逻辑单元重新映射至该第二物理抹除单元,
其中该第二物理抹除单元的任一预设区域的错误比特数目非大于该错误比特数目门槛值。

16.  根据权利要求13所述的存储器控制电路单元,其特征在于,还包括:
倘若该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器管理电路还用以记录该第一物理抹除单元于一第二程序化模式物理抹除单元分布表中。

17.  根据权利要求13所述的存储器控制电路单元,其特征在于,还包括:
倘若该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器管理电路还用以标记该第一物理抹除单元为一第二程序化模式物理抹除单元。

18.  根据权利要求13所述的存储器控制电路单元,其特征在于,还包括在上述使用该第二程序化模式来存储该第二数据的运作之前,该存储器管理电路还用以一单层存储单元模式抹除指令对该第一物理抹除单元执行一抹除操作。

19.  根据权利要求18所述的存储器控制电路单元,其特征在于,还包括:
该存储器管理电路还用以判断该第一物理抹除单元是否已被记录在该第二程序化模式物理抹除单元分布表中,
其中倘若该第一物理抹除单元已被记录在该第二程序化模式物理抹除单元分布表中时,该存储器管理电路使用该单层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作,
其中倘若该第一物理抹除单元非被记录在该第二程序化模式物理抹除单元分布表中时,该存储器管理电路使用一多层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作。

20.  根据权利要求18所述的存储器控制电路单元,其特征在于,还包括:
该存储器管理电路还用以判断该第一物理抹除单元是否已被标记为该第二程序化模式物理抹除单元,
其中倘若该第一物理抹除单元已被标记为该第二程序化模式物理抹除单元时,该存储器管理电路使用该单层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作,
其中倘若该第一物理抹除单元非被标记为该第二程序化模式物理抹除单元时,该存储器管理电路使用该多层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作。

21.  一种存储器控制电路单元,其特征在于,用于控制一可复写式非易失性存储器模块,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,且每一该些物理抹除单元的该些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以从该主机系统接收一第一数据,
其中该存储器管理电路还用以选择该些物理抹除单元之中的一第一物理抹除单元,其中该第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域,
其中该存储器管理电路还用以记录该第一物理抹除单元的每一该些预设区域的一错误比特数目,
其中该存储器管理电路还用以判断是否该第一物理抹除单元的该些物理程序化单元之中的一第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于一错误比特数目门槛值,其中
倘若该第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器管理电路将该第一数据程序化至该第一物理抹除单元的该些物理程序化单元之中的一第二物理程序化单元。

22.  根据权利要求21所述的存储器控制电路单元,其特征在于,还包括: 倘若该第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器管理电路将一虚拟数据程序化至该第一物理程序化单元。

23.  根据权利要求21所述的存储器控制电路单元,其特征在于,还包括:该第二物理程序化单元不同于该第一物理程序化单元且该第二物理程序化单元每一预设区域的错误比特数目皆非大于该错误比特数目门槛值。

24.  根据权利要求21所述的存储器控制电路单元,其特征在于,每一该些物理程序化单元可存储至少一个错误检查与校正框,
其中所述预设区域的大小为该错误检查与校正框的大小。

25.  一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,且每一该些物理抹除单元的该些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,并且用以选择该些物理抹除单元之中的一第一物理抹除单元,其中该第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域,
其中该存储器控制电路单元还用以使用一第一程序化模式来存储一第一数据,其中该第一数据被程序化至该第一物理抹除单元的该些下物理程序化单元的至少其中之一与该些上物理程序化单元的至少其中之一,
其中该存储器控制电路单元还用以记录该第一物理抹除单元的每一该些预设区域的一错误比特数目,
其中该存储器控制电路单元还用以判断是否该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于一错误比特数目门槛值,其中
倘若该第一物理抹除单元的该些物理程序化单元的该些预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器控制电路单元在将该第一物理抹除单元中的该第一数据抹除之后,使 用一第二程序化模式来存储一第二数据,
其中使用该第一程序化模式对该可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数大于使用该第二程序化模式对该可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数。

26.  根据权利要求25所述的存储器存储装置,其特征在于,该第二程序化模式包括:
一单层存储单元模式以及一下物理程序化模式至少其中之一,
其中在该单层存储单元模式中,一个存储单元只存储有一个比特的数据,其中在该下物理程序化模式中,只有该些下物理程序化单元会被程序化。

27.  根据权利要求25所述的存储器存储装置,其特征在于,还包括:
在将该第一物理抹除单元中的该第一数据抹除之前,该存储器控制电路单元还用以判断该第一数据是否为有效的数据,其中
倘若该第一数据是有效的数据时,该存储器控制电路单元便将该第一数据复制至该些物理抹除单元之中的一第二物理抹除单元中,并将原映射该第一物理抹除单元的一逻辑单元重新映射至该第二物理抹除单元,
其中该第二物理抹除单元的任一预设区域的错误比特数目非大于该错误比特数目门槛值。

28.  根据权利要求25所述的存储器存储装置,其特征在于,还包括:
倘若该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器控制电路单元还用以记录该第一物理抹除单元于一第二程序化模式物理抹除单元分布表中。

29.  根据权利要求25所述的存储器存储装置,其特征在于,还包括:
倘若该第一物理抹除单元的该些物理程序化单元的所述预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器控制电路单元还用以标记该第一物理抹除单元为一第二程序化模式物理抹除单元。

30.  根据权利要求25所述的存储器存储装置,其特征在于,还包括在上述使用该第二程序化模式来存储该第二数据的运作之前,该存储器控制电路单元还用以一单层存储单元模式抹除指令对该第一物理抹除单元执行一抹除 操作。

31.  根据权利要求30所述的存储器存储装置,其特征在于,还包括:
该存储器控制电路单元还用以判断该第一物理抹除单元是否已被记录在该第二程序化模式物理抹除单元分布表中,
其中倘若该第一物理抹除单元已被记录在该第二程序化模式物理抹除单元分布表中时,该存储器控制电路单元使用该单层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作,
其中倘若该第一物理抹除单元非被记录在该第二程序化模式物理抹除单元分布表中时,该存储器控制电路单元使用一多层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作。

32.  根据权利要求30所述的存储器存储装置,其特征在于,还包括:
该存储器控制电路单元还用以判断该第一物理抹除单元是否已被标记为该第二程序化模式物理抹除单元,
其中倘若该第一物理抹除单元已被标记为该第二程序化模式物理抹除单元时,该存储器控制电路单元使用该单层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作,
其中倘若该第一物理抹除单元非被标记为该第二程序化模式物理抹除单元时,该存储器控制电路单元使用该多层存储单元模式抹除指令对该第一物理抹除单元执行该抹除操作。

33.  一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个物理抹除单元,每一该些物理抹除单元具有多个物理程序化单元,且每一该些物理抹除单元的该些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,并且用以从该主机系统接收一第一数据,
其中该存储器控制电路单元还用以选择该些物理抹除单元之中的一第一物理抹除单元,其中该第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域,
其中该存储器控制电路单元还用以记录该第一物理抹除单元的每一该些预设区域的一错误比特数目,
其中该存储器控制电路单元还用以判断是否该第一物理抹除单元的该些物理程序化单元之中的一第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于一错误比特数目门槛值,其中
倘若该第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器控制电路单元将该第一数据程序化至该第一物理抹除单元的该些物理程序化单元之中的一第二物理程序化单元。

34.  根据权利要求33所述的存储器存储装置,其特征在于,还包括:倘若该第一物理程序化单元的预设区域之中的至少其中一个预设区域的该错误比特数目大于该错误比特数目门槛值时,该存储器控制电路单元将一虚拟数据程序化至该第一物理程序化单元。

35.  根据权利要求33所述的存储器存储装置,其特征在于,还包括:该第二物理程序化单元不同于该第一物理程序化单元且该第二物理程序化单元每一预设区域的错误比特数目皆非大于该错误比特数目门槛值。

36.  根据权利要求33所述的存储器存储装置,其特征在于,每一该些物理程序化单元可存储至少一个错误检查与校正框,
其中所述预设区域的大小为该错误检查与校正框的大小。

说明书

说明书数据存储方法、存储器控制电路单元与存储器存储装置
技术领域
本发明是有太阳城集团一种用于可复写式非易失性存储器的数据存储方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器作为存储媒体的存储器存储装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
可复写式非易失性存储器其中又以与非(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个比特的数据。
在NAND型快闪存储器中,物理程序化单元是由排列在同一条字线上的数个存储单元所组成。由于SLC NAND型快闪存储器的每个存储单元可存储1个比特的数据,因此,在SLC NAND型快闪存储器中,排列在同一条字线上的数个存储单元是对应一个物理程序化单元。
相对于SLC NAND型快闪存储器来说,MLC NAND型快闪存储器的每个存储单元的浮动门存储层可存储2个比特的数据,其中每一个存储状态(即,“11”、“10”、“01”与“00”)包括最低有效位(Least Significant Bit,简称 LSB)以及最高有效位(Most Significant Bit,简称MSB)。例如,存储状态中从左侧算起的第1个比特的值为LSB,而从左侧算起的第2个比特的值为MSB。因此,排列在同一条字线上的数个存储单元可组成2个物理程序化单元,其中由此些存储单元的LSB所组成的物理程序化单元称为下物理程序化单元(low physical programming unit),并且由此些存储单元的MSB所组成的物理程序化单元称为上物理程序化单元(upper physical programming unit)。
相较于SLC NAND型快闪存储器而言,MLC NAND型快闪存储器的容量更大,且成本低廉,较常被业界选择以制造使用复写式非易失性存储器模块的存储器存储装置。但是,MLC NAND型快闪存储器的稳定性较SLCNAND型快闪存储器低,故,MLC NAND型快闪存储器有些物理抹除区块在抹除次数很低时,就有较多的错误比特(Error bit)产生。而一般系统为了避免存储于这些错误比特数目较高的物理抹除单元的数据损失,当检测到某些data读取时有过多的错误比特,就会做数据搬移的动作,故写入到此些错误比特数目过多的不良的物理抹除单元的数据就会因此需要再做一次数据搬移,系统的效能也因此降低。
发明内容
本发明提供一种数据存储方法、存储器控制电路单元及存储器存储装置,可再利用不良的物理抹除单元,达到能够延长存储器存储装置的寿命的效用。
本发明的一范例实施例提出一种数据存储方法,用于可复写式非易失性存储器模块,其中可复写式非易失性存储器模块具有多个物理抹除单元,每个物理抹除单元具有多个物理程序化单元,且每个物理抹除单元的这些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元。上述数据存储方法包括:选择这些物理抹除单元之中的第一物理抹除单元,其中第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域。上述数据存储方法还包括:使用第一程序化模式来存储第一数据,其中第一数据被程序化至第一物理抹除单元的下物理程序化单元的至少其中之一与上物理程序化单元的至少其中之一。另外,上述数据存储方法还包括记录第一物理抹除单元的每个预设区域的错误比特数目并判断是否第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大 于错误比特数目门槛值。上述数据存储方法还包括,倘若第一物理抹除单元的这些物理程序化单元的这些预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,在将第一物理抹除单元中的第一数据抹除之后,使用第二程序化模式来存储第二数据,其中使用第一程序化模式对可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数大于使用第二程序化模式对可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数。
在本发明的一范例实施例中,上述的第二程序化模式包括:单层存储单元模式以及下物理程序化模式中的至少其中之一的模式,其中在单层存储单元模式中,一个存储单元只存储有一个比特的数据,而在下物理程序化模式中,只有下物理程序化单元会被程序化。
在本发明的一范例实施例中,上述的数据存储方法还包括:在将第一物理抹除单元中的第一数据抹除之前,判断第一数据是否为有效的数据。上述的数据存储方法还包括:倘若第一数据是有效的数据时,将第一数据复制至这些物理抹除单元之中的第二物理抹除单元中,并将原映射第一物理抹除单元的逻辑单元重新映射至第二物理抹除单元,而上述第二物理抹除单元的任一预设区域的错误比特数目非大于错误比特数目门槛值。
在本发明的一范例实施例中,上述的数据存储方法还包括:倘若第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,记录第一物理抹除单元于第二程序化模式物理抹除单元分布表中。
在本发明的一范例实施例中,上述的数据存储方法还包括:倘若第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,标记第一物理抹除单元为第二程序化模式物理抹除单元。
在本发明的一范例实施例中,上述的数据存储方法,还包括在上述仅使用第一物理抹除单元的这些下物理程序化单元来存储第二数据的步骤之前,以单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
在本发明的一范例实施例中,上述的数据存储方法还包括:判断第一物理抹除单元是否已被记录在第二程序化模式物理抹除单元分布表中;倘若第 一物理抹除单元已被记录在第二程序化模式物理抹除单元分布表中时,使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作;以及倘若第一物理抹除单元非被记录在第二程序化模式物理抹除单元分布表中时,使用多层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
在本发明的一范例实施例中,上述的数据存储方法,还包括:判断第一物理抹除单元是否已被标记为第二程序化模式物理抹除单元;倘若第一物理抹除单元已被标记为第二程序化模式物理抹除单元时,使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作;以及倘若第一物理抹除单元非被标记为第二程序化模式物理抹除单元时,使用多层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
本发明的一范例实施例提出一种数据存储方法,用于可复写式非易失性存储器模块,其中可复写式非易失性存储器模块具有多个物理抹除单元,每个物理抹除单元具有多个物理程序化单元,且每个物理抹除单元的这些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元。上述数据存储方法包括:接收第一数据并且选择这些物理抹除单元之中的第一物理抹除单元,其中第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域。此外,上述数据存储方法也包括记录第一物理抹除单元的每个预设区域的一错误比特数目,并判断是否第一物理抹除单元的这些物理程序化单元之中的第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值。上述数据存储方法还包括:倘若第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,将第一数据程序化至第一物理抹除单元的这些物理程序化单元之中的第二物理程序化单元。
在本发明的一范例实施例中,上述数据存储方法还包括:倘若第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,将虚拟数据程序化至第一物理程序化单元。
在本发明的一范例实施例中,上述第二物理程序化单元是配置在第一物理程序化单元之后且第二物理程序化单元每一预设区域的错误比特数目皆非大于错误比特数目门槛值。
在本发明的一范例实施例中,上述每个物理程序化单元可存储至少一个 错误检查与校正框,而上述预设区域的的大小为错误检查与校正框的大小。
本发明的一范例实施例提出一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,上述存储器控制电路单元包括:主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块,其中可复写式非易失性存储器模块具有多个物理抹除单元,每个物理抹除单元具有多个物理程序化单元,且每个物理抹除单元的这些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元。存储器管理电路电性连接至主机接口与存储器接口,并且用以选择这些物理抹除单元之中的第一物理抹除单元,其中第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域。在此,存储器管理电路还用以使用第一程序化模式来存储第一数据,其中第一数据被程序化至第一物理抹除单元的下物理程序化单元的至少其中之一与上物理程序化单元的至少其中之一。此外,存储器管理电路还用以记录第一物理抹除单元的每个预设区域的错误比特数目,并且判断是否第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值。倘若第一物理抹除单元的这些物理程序化单元的这些预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器管理电路在将第一物理抹除单元中的第一数据抹除之后,使用第二程序化模式来存储第二数据,其中使用第一程序化模式对可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数大于使用第二程序化模式对可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数。
在本发明的一范例实施例中,上述的存储器管理电路还用以在将第一物理抹除单元中的第一数据抹除之前,判断第一数据是否为有效的数据。倘若第一数据是有效的数据时,存储器管理电路将第一数据复制至这些物理抹除单元之中的第二物理抹除单元中,并将原映射第一物理抹除单元的逻辑单元重新映射至第二物理抹除单元,其中第二物理抹除单元的任一预设区域的错误比特数目非大于错误比特数目门槛值。
在本发明的一范例实施例中,倘若第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误 比特数目门槛值时,存储器管理电路还用以记录第一物理抹除单元于第二程序化模式物理抹除单元分布表中。
在本发明的一范例实施例中,倘若第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器管理电路还用以标记第一物理抹除单元为第二程序化模式物理抹除单元。
在本发明的一范例实施例中,上述的存储器管理电路还用以在上述仅使用第一物理抹除单元的这些下物理程序化单元来存储第二数据的步骤之前,使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
在本发明的一范例实施例中,上述的存储器管理电路还用以判断第一物理抹除单元是否已被记录在第二程序化模式物理抹除单元分布表中。倘若第一物理抹除单元已被记录在第二程序化模式物理抹除单元分布表中时,存储器管理电路使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。此外,倘若第一物理抹除单元非被记录在第二程序化模式物理抹除单元分布表中时,存储器管理电路使用多层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
在本发明的一范例实施例中,上述的存储器管理电路还用以判断第一物理抹除单元是否已被标记为第二程序化模式物理抹除单元。倘若第一物理抹除单元已被标记为第二程序化模式物理抹除单元时,存储器管理电路使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。此外,倘若第一物理抹除单元非被标记为第二程序化模式物理抹除单元时,存储器管理电路使用多层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
本发明的一范例实施例提出一种存储器控制电路单元,用于控制可复写式非易失性存储器模块,上述存储器控制电路单元包括:主机接口、存储器接口与存储器管理电路。其中主机接口电性连接至主机系统。存储器接口电性连接至可复写式非易失性存储器模块。而可复写式非易失性存储器模块具有多个物理抹除单元,每个物理抹除单元具有多个物理程序化单元,且每个物理抹除单元的这些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元。存储器管理电路电性连接至主机接口与存储器接口,并且用以从主机系统接收第一数据,而上述存储器管理电路还用以选择这些物理抹 除单元之中的第一物理抹除单元且第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域。此外,存储器管理电路还用以记录第一物理抹除单元的每个预设区域的错误比特数目,并判断是否第一物理抹除单元的这些物理程序化单元之中的第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值。倘若第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器管理电路将第一数据程序化至第一物理抹除单元的这些物理程序化单元之中的第二物理程序化单元。
在本发明的一范例实施例中,上述存储器控制电路单元还包括:倘若第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器管理电路将虚拟数据程序化至第一物理程序化单元。
本发明的一范例实施例提出一种存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。上述连接接口单元电性连接至主机系统。上述可复写式非易失性存储器模块具有多个物理抹除单元,每个物理抹除单元具有多个物理程序化单元,且每个物理抹除单元的这些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块,并且用以选择这些物理抹除单元之中的第一物理抹除单元。上述第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域。存储器控制电路单元还用以使用第一程序化模式来存储第一数据,其中第一数据被程序化至第一物理抹除单元的下物理程序化单元的至少其中之一与上物理程序化单元的至少其中之一。此外,存储器控制电路单元还用以记录第一物理抹除单元的每个预设区域的错误比特数目,以及判断是否第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值。倘若第一物理抹除单元的这些物理程序化单元的这些预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器控制电路单元在将第一物理抹除单元中的第一数据抹除之后,使用第二程序化模式来存储第二数据,其中使用第一程序化模式对可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数大于使 用第二程序化模式对可复写式非易失性存储器模块进行程序化操作时所需要的程序化次数。
在本发明的一范例实施例中,存储器控制电路单元还用以在将第一物理抹除单元中的第一数据抹除之前,判断第一数据是否为有效的数据。并且,倘若第一数据是有效的数据时,存储器控制电路单元便将第一数据复制至这些物理抹除单元之中的第二物理抹除单元中,并将原映射第一物理抹除单元的逻辑单元重新映射至第二物理抹除单元,其中第二物理抹除单元的任一预设区域的错误比特数目非大于错误比特数目门槛值。
在本发明的一范例实施例中,倘若第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器控制电路单元还用以记录第一物理抹除单元于第二程序化模式物理抹除单元分布表中。
在本发明的一范例实施例中,倘若第一物理抹除单元的这些物理程序化单元的所述预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器控制电路单元还用以标记第一物理抹除单元为第二程序化模式物理抹除单元。
在本发明的一范例实施例中,存储器控制电路单元还用以在上述仅使用第一物理抹除单元的这些下物理程序化单元来存储第二数据的步骤之前,使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
在本发明的一范例实施例中,存储器控制电路单元还用以判断第一物理抹除单元是否已被记录在第二程序化模式物理抹除单元分布表中。倘若第一物理抹除单元已被记录在第二程序化模式物理抹除单元分布表中时,存储器控制电路单元使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。另外,倘若第一物理抹除单元非被记录在第二程序化模式物理抹除单元分布表中时,存储器控制电路单元使用多层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
在本发明的一范例实施例中,存储器控制电路单元还用以判断第一物理抹除单元是否已被标记为第二程序化模式物理抹除单元。倘若第一物理抹除单元已被标记为第二程序化模式物理抹除单元时,存储器控制电路单元使用单层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。此外,倘若 第一物理抹除单元非被标记为第二程序化模式物理抹除单元时,存储器控制电路单元使用多层存储单元模式抹除指令对第一物理抹除单元执行抹除操作。
本发明的一范例实施例提出一种存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元电性连接至主机系统。可复写式非易失性存储器模块具有多个物理抹除单元,每个物理抹除单元具有多个物理程序化单元,且每个物理抹除单元的这些物理程序化单元包括多个下物理程序化单元与多个上物理程序化单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块,并且用以从主机系统接收第一数据。此外,存储器控制电路单元还用以选择这些物理抹除单元之中的第一物理抹除单元,而上述第一物理抹除单元的每一物理程序化单元具有一个或多个预设区域。另外,存储器控制电路单元还用以记录第一物理抹除单元的每个预设区域的错误比特数目,并且判断是否第一物理抹除单元的这些物理程序化单元之中的第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值。倘若第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器控制电路单元将第一数据程序化至第一物理抹除单元的这些物理程序化单元之中的第二物理程序化单元。
在本发明的一范例实施例中,上述存储器存储装置还包括:倘若第一物理程序化单元的预设区域之中的至少其中一个预设区域的错误比特数目大于错误比特数目门槛值时,存储器控制电路单元将虚拟数据程序化至第一物理程序化单元。
基于上述,本发明可再利用错误比特数目较高的不良物理抹除单元,也可避免将数据存储在错误比特数目较高的物理程序化单元所导致的数据错误,达到延长可复写式非易失性存储器的寿命以及增进数据保存的稳定性的效用。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器存储装置示意图;
图2是根据本发明范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图3是根据本发明范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是示出图1所示的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图6与图7是根据第一范例实施例所示出的管理物理抹除单元的范例示意图;
图8是根据一范例实施例所示出的错误检查与校正框的范例示意图;
图9为根据本发明的范例实施例,所示出的数据存储方法的流程图;
图10为根据本发明的范例实施例,所示出的数据存储方法的流程图。
附图标记说明:
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:可复写式非易失性存储器模块;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:缓冲存储器;
210:电源管理电路;
212:错误检查与校正电路;
410(0)~410(N):物理抹除单元;
506:系统区;
502:数据区;
504:闲置区;
508:取代区;
LBA(0)~LBA(H):逻辑单元;
LZ(0)~LZ(M):逻辑区域;
410(F):位于闲置区的第一物理抹除单元;
802:物理程序化单元;
804:第二物理程序化单元;
801:第一物理程序化单元的第一错误检查与校正框;
803:第一物理程序化单元的第二错误检查与校正框;
805:第一物理程序化单元的第三错误检查与校正框;
807:第一物理程序化单元的第四错误检查与校正框;
809:第二物理程序化单元的第一错误检查与校正框;
811:第二物理程序化单元的第二错误检查与校正框;
813:第二物理程序化单元的第三错误检查与校正框;
815:第二物理程序化单元的第四错误检查与校正框;
S901、S903、S905、S907:数据存储方法的步骤;
S1001、S1003、S1005、S1007、S1009:数据存储方法的步骤。
具体实施方式
[第一范例实施例]
图1是根据一范例实施例所示出的主机系统与存储器存储装置示意图。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的随身盘1212、存储卡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是相容于串行高级技术附件(Serial Advanced Technology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,简称PCI Express)标准、通用串行总线(Universal Serial Bus,简称USB)标准、超高速一代(Ultra High Speed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、序列先进附件(Serial Advanced Technology Attachment,简称SATA)标准、记忆棒(Memory Stick,简称MS)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、小型快闪(Compact Flash,简称CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元可与存储器控制电路单元封装在一个晶片中,或布设于一包含存储器控制电路单元的晶片外。
存储器控制电路单元104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令对可复写式非易失性存储器模块106下达指令序列以进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106具有物理抹除单元410(0)~410(N)。例如,物理抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有复数个物理程序化单元,例如本发明的范例实施例中,每一个物理抹除单元包含258个物理程序化单元,而其中属于同一个物理抹除单元的物理程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理程序化单元、256个物理程序化单元或其他任意个物理程序化单元所组成。
更详细来说,物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。物理程序化单元为程序化的最小单元。即,物理程序化单元为写入数据的最小单元。每一物理程序化单元通 常包括数据比特区与冗余比特区。数据比特区包含多个物理存取位址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制太阳城集团与错误更正码)。在本范例实施例中,每一个物理程序化单元的数据比特区中会包含4个物理存取位址,且一个物理存取位址的大小为512比特组(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的物理存取位址,本发明并不限制物理存取位址的大小以及个数。例如,在一范例实施例中,物理抹除单元为物理区块,并且物理程序化单元为物理页面或物理扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,简称MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块,以下称MLC NAND型快闪存储器模块),然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储单元(Single Level Cell,简称SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特数据的快闪存储器模块)、三阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
在本范例实施例中,MLC NAND型快闪存储器模块的物理抹除单元具有多个物理程序化单元,而此些物理程序化单元,由于一个存储单元中可存储2个比特数据,因此还包括下物理程序化单元(Lower programming unit)以及上物理程序化单元(Higher programming unit)。而一般使用MLC NAND型快闪存储器模块存储数据时,会同时使用多层存储单元模式来程序化下物理程序化单元的其中之一与上物理程序化单元的其中之一以将数据写入存储单元中。
值得一提的是,上述的多层存储单元模式为第一程序化模式(First programming mode)的一种模式。另外,在本发明中还有第二程序化模式(Second programming mode),此模式可包含至少下列三种模式或为至少其中的任一。其中一种模式为单层存储单元模式(SLC mode),在此模式中,一个存储单元只存储有一个比特的数据。另一种模式为下物理程序化模式(lower physical programming unit programming mode),在此模式中,只有下物理程 序化单元会被程序化(a mode that only a lower programming unit is being programmed),而此下物理程序化单元的上物理程序化单元可不对其程序化。另一种模式为混合程序化模式(mixture programming mode),在此模式中,真实的有效数据会被程序化于下物理程序化单元中,而同时虚拟数据会被程序化至对应程序化真实数据的下物理程序化单元的上物理程序化单元中。
具体来说,可复写式非易失性存储器模块106中的存储单元是以临界电压的改变来存储多比特(bits)。具体来说,每一个存储单元的控制门极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为”把数据写入至存储单元”或”程序化存储单元”。随着临界电压的改变,存储单元阵列的每一存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的比特。以本范例实施例中的MLC NAND型快闪存储器模块为例,当使用第一程序化模式或是混合程序化模式时,随着不同的临界电压,每一存储单元具有4种存储状态,并且此些存储状态分别地代表"11"、"10"、"00"与"01"等比特。因此,在此范例实施例中,每一存储单元的存储的数据比特数为2。另外,以本范例实施例中的MLC NAND型快闪存储器模块为例,当使用第二程序化模式的单层存储单元模式时,随着不同的临界电压,每一存储单元具有2种存储状态,并且此些存储状态分别地代表"0"与"1"比特。因此,在此范例实施例中,每一存储单元存储的数据比特数为1。也就是说,当使用第二程序化模式或是混合程序化模式来程序化数据时,由于每一存储单元所需要程序化的临界电压较高,或是所存储的有效数据比特数目较多,在使用上述的第二程序化模式的单层存储单元模式程序化数据时,所需要程序化的次数会小于当使用第二程序化模式的混合程序化模式或是第一程序化模式进行程序化数据时,所需要的程序化的次数。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路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是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制电路单元104还包括缓冲存储器208、电源管理电路210与错误检查与校正电路212。
缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图6与图7是根据一范例实施例所示出的管理物理抹除单元的范例示意图。
请参照图6,存储器控制电路单元104(或存储器管理电路202)会将物理抹除单元410(0)~410-(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。
逻辑上属于数据区502与闲置区504的物理抹除单元是用以存储来自于主机系统1000的数据。具体来说,数据区502的物理抹除单元是被视为已存储数据的物理抹除单元,而闲置区504的物理抹除单元是用以替换数据区502的物理抹除单元。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取物理抹除单元,并且将数据写入至所提取的物理抹除单元中,以替换数据区502的物理抹除单元。
逻辑上属于系统区506的物理抹除单元是用以记录系统数据。例如,系统数据包括太阳城集团可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的物理抹除单元数、每一物理抹除单元的物理程序化单元数等。
逻辑上属于取代区508中的物理抹除单元是用于坏物理抹除单元取代程序,以取代损坏的物理抹除单元。具体来说,倘若取代区508中仍存有正常的物理抹除单元并且数据区502的物理抹除单元损坏时,存储器管理电路202会从取代区508中提取正常的物理抹除单元来更换损坏的物理抹除单元。
特别是,数据区502、闲置区504、系统区506与取代区508的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,物理抹除单元关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的物理抹除单元损坏而被取代区508的物理抹除单元取代时,则原本取代区508的物理抹除单元会被关联至闲置区504。
请参照图7,存储器控制电路单元104(或存储器管理电路202)会配置逻辑单元LBA(0)~LBA(H)以映射数据区502的物理抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的物理抹除单元的物理程序化单元。并且,当主机系统1000欲写入数据至逻辑单元或更新存储于逻辑单元中的数据时,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取一个物理抹除单元来写入数据,以轮替数据区502的物理抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。
为了识别每个逻辑单元的数据被存储在那个物理抹除单元,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会记录逻辑单元与物理抹除单元之间的映射。并且,当主机系统1000欲在逻辑子单元中存取 数据时,存储器控制电路单元104(或存储器管理电路202)会确认此逻辑子单元所属的逻辑单元,并且对可复写式非易失性存储器模块106下达对应的指令序列以在此逻辑单元所映射的物理抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会在可复写式非易失性存储器模块106中存储逻辑转物理位址映射表来记录每一逻辑单元所映射的物理抹除单元,并且当欲存取数据时存储器控制电路单元104(或存储器管理电路202)会将逻辑转物理位址映射表载入至缓冲存储器208来维护。
值得一提的是,由于缓冲存储器208的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会将逻辑单元LBA(0)~LBA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑转物理位址映射表。特别是,当存储器控制电路单元104(或存储器管理电路202)欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑转物理位址映射表会被载入至缓冲存储器208来被更新。
如上所述,在本范例实施例中,存储器存储装置100的可复写式非易失性存储器模块106是以物理程序化单元为基础来进行管理,因此,在执行写入指令时,不管目前数据是要写入至那个逻辑单元的逻辑子单元,存储器控制电路单元104(或存储器管理电路202)皆会以一个物理程序化单元接续一个物理程序化单元的方式来写入数据。具体来说,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取一个空的物理抹除单元作为目前使用的物理抹除单元来写入数据。并且,当此目前使用的物理抹除单元已被写满时,存储器控制电路单元104(或存储器管理电路202)会再从闲置区504中提取另一个空的物理抹除单元作为目前使用的物理抹除单元,以继续写入对应来自于主机系统1000的写入指令的数据。特别是,为了避免闲置区504的物理抹除单元被耗尽,当存储器控制电路单元104(或存储器管理电路202)欲从闲置区504中提取物理抹除单元且闲置区504的物理抹除单元的数目下降到所设定的垃圾回收门槛值时,存储器控制电路单元104(或存储器管理电路202)会先执行数据合并程序,来使数据区502的至少一个物理抹除单元中的数据成为无效数据,并且将数据区502中所存储的数据皆为无效数 据的物理抹除单元关联回闲置区504,以致于闲置区504的物理抹除单元的数目大于所设定的垃圾回收门槛值。例如,在执行数据合并程序时,存储器控制电路单元104(或存储器管理电路202)至少需使用一个空的物理抹除单元,因此,垃圾回收门槛值至少会被设定为大于1的数值。
如上所述,在存储器存储装置100的错误检查与校正电路212会被配置来验证可复写式非易失性存储器模块106中所存储的数据是否正确。然而,在执行错误校正程序时,无论是编码或解码步骤,错误检查与校正电路212都是需要清楚知道所要保护的数据长度为何,如此才能计算出正确的特征码,以检查出正确的错误位置。在本范例实施例中,当存储器控制电路单元104(或存储器管理电路202)接收到数据时,存储器控制电路单元104(或存储器管理电路202)会先将数据分割为多个码框(frame),之后错误检查与校正电路212再产生各码框对应的错误校正码,以将这些码框与其各自所对应的错误校正码分别编码形成为错误检查与校正框。在此,错误检查与校正框的大小是根据传输单位的大小来分割,且此传输单位的大小是依据可复写式非易失性存储器模块106的规格书来决定。也就是说,每个传输单位须保护(protect)多少个比特(bit)。例如,传输单位为512bytes,保护12个比特,存储器控制电路单元104(或存储器管理电路202)会将数据切割为每单位为512bytes。而错误检查与校正电路212则会针对每512bytes的数据进行错误校正编码,故每个错误检查与校正框的大小就是512bytes。但必须了解的是,本发明不限于此,在另一范例实施例中,错误检查与校正框的大小也可以是1K bytes或2K bytes等等。值得一提的是,每个物理程序化单元的大小会至少大于一个错误检查与校正框的大小,以使存储在物理程序化单元的数据,以错误检查与校正框的大小为单位,可以受到错误检查与校正电路212的保护。
例如,在本范例实施例中,错误检查与校正电路212的最大保护能力,为12个比特,故当错误检查与校正框所发生的错误比特数目大于12(例如,13)时,错误检查与校正电路212将无法校正于错误检查与校正框内的错误数据,导致存储于此错误检查与校正框的数据不能正常读取,成为不能恢复的损毁数据。当此状况发生时,也代表具有此损毁数据的物理抹除单元已经过于老化而不堪使用,基此,存储器控制电路单元104(或存储器管理电路 202)会将错误比特数目超过错误检查与校正电路212最大保护能力的物理程序化单元标记成不良物理程序化单元,并记录于一个不良物理程序化单元分布表中。
图8是根据一范例实施例所示出的错误检查与校正框的范例示意图。
请参照图8,在本范例实施例中,存储于数据区502中的第一物理抹除单元410(0)中的第一物理程序化单元802的大小为2K bytes(2048bytes),可存储4个错误检查与校正框大小的数据,分别为第一错误检查与校正框801、第二错误检查与校正框803、第三错误检查与校正框805、第四错误检查与校正框807,其中每个错误检查与校正框的大小为512bytes。
例如,在操作可复写式非易失性存储器模块106的过程时,存储器控制电路单元104(或存储器管理电路202),会持续记录每个错误检查与校正框所发生的错误比特数目。举例来说,假设第一物理程序化单元802的第一错误检查与校正框801的错误比特数目为3,第二错误检查与校正框803的错误比特数目为4、第三错误检查与校正框805的错误比特数目为5、第四错误检查与校正框807的错误比特数目为11;并且第二物理程序化单元804的第一错误检查与校正框809的错误比特数目为3,第二错误检查与校正框811的错误比特数目为4、第三错误检查与校正框813的错误比特数目为5、第四错误检查与校正框815的错误比特数目为6。依此类推,在操作可复写式非易失性存储器模块106的过程时也取得并记录可复写式非易失性存储器模块106的每个物理抹除单元的物理程序化单元的每个错误检查与校正框的错误比特数目。
在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会判断第一物理抹除单元410(0)的每个物理程序化单元的错误比特数目是否超过系统预先定义的错误比特数目门槛值。例如,在本范例实施例中,系统预先定义的错误比特数目门槛值为10。值得一提的是,此系统预先定义的错误比特数目门槛值,可以在出厂时定义,或是出厂后经由软件或是固件设定,此错误比特数目门槛值不会超过错误检查与校正电路212的最大保护能力。
在上述的例子中,第一物理抹除单元410(0)的第一物理程序化单元的第四错误检查与校正框807的错误比特数目为11,超过错误比特数目门槛值10,此时存储器控制电路单元104(或存储器管理电路202)会记录第一物理抹除 单元410(0)于一个第二程序化模式物理抹除单元分布表中。上述的第二程序化模式物理抹除单元分布表是用以记录在可复写式非易失性存储器模块106的物理抹除单元中,哪些是使用单层存储单元模式操作的物理抹除单元。例如,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会将此第二程序化模式物理抹除单元分布表存储在缓冲存储器208中,并在可复写式非易失性存储器模块使用的过程中,持续记录每个物理抹除单元的每个物理抹除程序化单元的错误比特数目,并更新第二程序化模式物理抹除单元分布表。
除了记录于第二程序化模式物理抹除单元分布表的方式,在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)也可于对应此物理抹除单元的系统数据中标记此些错误比特数目超过错误比特数目门槛值的物理抹除单元为第二程序化模式物理抹除单元。举例来说,此系统数据可为对应此物理抹除单元的中介数据(Meta data),或是其他类型的系统数据,本发明不限于此。值得一提的是,存储器控制电路单元104(或存储器管理电路202)可同时或是分别使用上述两种方式来记录上述这些错误比特数目超过错误比特数目门槛值的物理抹除单元。
另外,在本范例实施例中,一旦第一物理抹除单元410(0)中任一错误检查与校正框的错误比特数目超过错误比特数目门槛值时,存储器控制电路单元104(或存储器管理电路202)会识别第一物理抹除单元410(0)为不良的物理抹除单元,并且记录于第二程序化模式物理抹除单元分布表或是标记为第二程序化模式物理抹除单元。值得一提的是,本发明不限于此,例如,在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)也可在一个物理抹除单元中的至少两个错误检查与校正框的错误比特数目超过错误比特数目门槛值时,才识别此物理抹除单元为不良的物理抹除单元。或者,在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)可在一个物理抹除单元中的错误检查与校正框的错误比特数目在不超过错误检查与校正电路212的最大保护能力的状况下,计算一个物理抹除单元的错误检查与校正框的错误比特数目的平均值,并且依据此平均值是否超过错误比特数目门槛值,来辨识一个物理抹除单元是否为不良的物理抹除单元。
例如,在一范例实施例中,当存储器控制电路单元104(或存储器管理 电路202)要对可复写式非易失性存储器模块106的物理抹除单元进行抹除操作时,会先检查要进行抹除操作的物理抹除单元是否被记录在第二程序化模式物理抹除单元分布表或是被标记为第二程序化模式物理抹除单元。倘若要进行抹除操作的物理抹除单元被记录在第二程序化模式物理抹除单元分布表或是被标记为第二程序化模式物理抹除单元时,存储器控制电路单元104(或存储器管理电路202)会对此物理抹除单元使用单层存储单元模式抹除指令来进行抹除操作。倘若要进行抹除操作的物理抹除单元非被记录在第二程序化模式物理抹除单元分布表或是非被标记为第二程序化模式物理抹除单元时,存储器控制电路单元104(或存储器管理电路202)会对此物理抹除单元使用多层存储单元模式抹除指令来进行抹除操作。
例如,当存储器控制电路单元104(或存储器管理电路202)要对第一物理抹除单元410(0)进行抹除操作时,会先检查第二程序化模式物理抹除单元分布表或是检查第一物理抹除单元410(0)是否被标记为第二程序化模式物理抹除单元,由此决定使用单层存储单元模式抹除指令或多层存储单元模式抹除指令来对第一物理抹除单元410(0)进行抹除操作。例如,如上所述,倘若第一物理抹除单元410(0)中任一错误检查与校正框的错误比特数目超过错误比特数目门槛值时,第一物理抹除单元410(0)会被记录于第二程序化模式物理抹除单元分布表或是标记为第二程序化模式物理抹除单元。在此情况下,当需对第一物理抹除单元410(0)执行数据合并程序时,存储器控制电路单元104(或存储器管理电路202)会在第一物理抹除单元410(0)中的数据已变成无效数据后,使用单层存储单元模式抹除指令来对第一物理抹除单元410(0)进行抹除操作。
值得一提的是,在一范例实施例中,存储器控制电路单元104(或存储器管理电路202)也可在记录第一物理抹除单元410(0)于第二程序化模式物理抹除单元分布表时,就先将第一物理抹除单元410(0)所存储的有效数据复制到第二物理抹除单元410(F),将原来映射第一物理抹除单元410(0)的逻辑单元重新映射到第二物理抹除单元410(F),并将存储有效数据的第二物理抹除单元410(F)关联到数据区502。
详细来说,在此另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)会在记录第一物理抹除单元410(0)于第二程序化模式物理抹 除单元分布表时,就会先检查第一物理抹除单元410(0)上所存储的数据是否为有效数据,倘若第一物理抹除单元410(0)上锁存储的数据为有效数据,存储器控制电路单元104(或存储器管理电路202)会先从闲置区504中,提取一个第二物理抹除单元410(F),并将第一物理抹除单元410(0)中的有效数据复制到第二物理抹除单元410(F)。值得一提的是,存储器控制电路单元104(或存储器管理电路202)所提取的第二物理抹除单元410(F)的任一物理抹除程序化单元的任一错误检查与校正框的错误比特数目都不大于错误比特数目门槛值。而在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)会先从闲置区504中提取不被记录在第二程序化模式物理抹除单元分布表中或是不被标记为第二程序化模式物理抹除单元的物理抹除单元来存储有效数据,当闲置区只剩下被记录在第二程序化模式物理抹除单元分布表中或是被标记为第二程序化模式物理抹除单元的物理抹除单元时,才提取这些第二程序化模式物理抹除单元来存储有效数据。
而在复制第一物理抹除单元410(0)的有效数据到第二物理抹除单元410(F)之后,存储器控制电路单元104(或存储器管理电路202)会将原来映射第一物理抹除单元410(0)的逻辑单元重新映射到第二物理抹除单元410(F),并将存储有效数据的第二物理抹除单元410(F)关联到数据区502。之后,存储器控制电路单元104(或存储器管理电路202)会在系统预定的时机,例如,在系统闲暇时,或是直接接着对第一物理抹除单元410(0)进行单层存储单元模式抹除操作,再将已经完成抹除操作的第一物理抹除单元410(0)关联到闲置区504。
在本范例实施例中,当存储器控制电路单元104(或存储器管理电路202)使用单层存储单元模式抹除指令来对一个物理抹除单元进行抹除操作之后,存储器控制电路单元104(或存储器管理电路202)便会以单层存储单元模式来操作此物理抹除单元。举例来说,上述的第一物理抹除单元410(0)已经使用单层存储单元模式抹除指令对第一物理抹除单元410(0)完成抹除操作之后,若是存储器控制电路单元104(或存储器管理电路202)要提取第一物理抹除单元410(0)来写入数据时,存储器控制电路单元104(或存储器管理电路202)只会使用第一物理抹除单元410(0)的下物理程序化单元来存储欲写入的数据。换句话说,假设上述的第二物理抹除单元410(F)在写入数据之前,是 使用多层存储单元模式抹除指令来进行抹除操作,当要写入数据到第二物理抹除单元410(F)时,便会同时存储数据到第二物理抹除单元410(F)的下物理程序化单元以及上物理程序化单元中。
在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)通过使用单层存储单元模式抹除指令来对第一物理抹除单元410(0)进行抹除操作,来设定第一物理抹除单元410(0)的写入模式处于单层存储单元模式。而存储器控制电路单元104(或存储器管理电路202)便会在之后操作为单层存储单元模式的第一物理抹除单元410(0)时,使用单层存储单元模式的指令来操作第一物理抹除单元410(0)。值得一提的是,在本范例实施例中,设定为单层存储单元模式的物理抹除单元,便会一直处于单层存储单元模式。此外,被记录于第二程序化模式物理抹除单元分布表中的物理抹除单元,或是被标记为第二程序化模式物理抹除单元的物理抹除单元也会一直被记录于第二程序化模式物理抹除单元分布表中或是一直被标记为第二程序化模式物理抹除单元。而当此些处于单层存储单元模式的物理抹除单元的某个物理程序化单元的其中一个错误检查与校正框的错误比特数目大于错误比特数目门槛值时,存储器控制电路单元104(或存储器管理电路202)会标记此物理抹除单元为坏物理抹除单元,并记录于一个坏物理抹除单元表中,同时提取闲置区的一个空白的物理抹除单元来存储此坏物理抹除单元中的有效数据,并将原本映射到此坏物理抹除单元的逻辑单元重新映射到所提取的物理抹除单元,同时将此坏物理抹除单元自数据区502的关联中移除。之后,存储器控制电路单元104(或存储器管理电路202)将不再使用此坏物理抹除单元。
图9为根据本发明的范例实施例,所示出的数据存储方法的流程图。
请参照图9,在步骤S901中,存储器控制电路单元104(或存储器管理电路202)会选择一个物理抹除单元(以下称为第一物理抹除单元)。接着,在步骤S903中,存储器控制电路单元104(或存储器管理电路202)会判断所选择的第一物理抹除单元之中的多个物理程序化单元的其中一个错误检查与校正框的错误比特数目是否大于错误比特数目门槛值。倘若是,则接着在步骤S905中,存储器控制电路单元104(或存储器管理电路202)会设定在第一物理抹除单元被执行抹除操作之后,使用单层存储单元模式来存储数据。例如,如上所述,存储器控制电路单元104(或存储器管理电路202)会使用 单层存储单元模式抹除指令来对第一物理抹除单元进行抹除操作,以致于第一物理抹除单元在通过单层存储单元模式抹除指令进行抹除操作之后,第一物理抹除单元的物理程序化单元仅可存储1个比特的数据。
倘若第一物理抹除单元之中的多个物理程序化单元的其中一个错误检查与校正框的错误比特数目非大于错误比特数目门槛值时,在步骤S907中,存储器控制电路单元104(或存储器管理电路202)会设定在第一物理抹除单元被执行抹除操作之后,同时使用第一物理抹除单元的上物理程序化单元以及下物理程序化单元来存储数据。例如,如上所述,存储器控制电路单元104(或存储器管理电路202)会使用多层存储单元模式抹除指令来对第一物理抹除单元进行抹除操作,以致于第一物理抹除单元通过多层存储单元模式抹除指令来进行抹除操作之后,其上物理程序化单元以及下物理程序化单元会同时被用来存储数据。
综上,于本范例实施例中,本发明概念可让错误比特数目超过错误比特数目门槛值的不良的物理抹除单元,被设定成单层存储单元模式而继续使用。特别是,处于单层存储单元模式的不良的物理抹除单元因为其存储单元的电位范围较广,可让原来会发生错误的存储单元变成不会发生错误,而降低这些不良的物理抹除单元中的物理程序化单元所发生的错误比特数目,增进存储于这些不良的物理抹除单元的数据的稳定性,同时也因为可以继续使用错误比特数目超过错误比特数目门槛值的不良的物理抹除单元,而延长可复写式非易失性存储器模块的使用寿命。
[第二范例实施例]
第二范例实施例在硬件架构上相似于第一范例实施例,而第二范例实施例与第一范例实施例不同的地方在于,第一范例实施例是基于物理抹除单元为单位对不良的物理抹除单元做处理,而第二范例实施例是基于物理程序化单元为单位,对不良的物理程序化单元做处理。以下将利用第一范例实施例的元件编号详细说明此第二范例实施例的不同之处。
当从主机系统1000接收一笔第一数据,存储器控制电路单元104(或存储器管理电路202)会选择可复写式非易失性存储器模块的数据区502中还有空间的第一物理抹除单元410(0)来写入第一数据。
如同第一范例实施例所述,存储器控制电路单元104(或存储器管理电 路202)会记录着第一物理抹除单元410(0)的每个程序化单元的每个错误检查与校正框的错误比特数目。以上述图8的例子,第一物理抹除单元410(0)中的第一物理程序化单元802的大小为2K bytes(2048bytes),可存储4个错误检查与校正框大小的数据,分别为第一错误检查与校正框801、第二错误检查与校正框803、第三错误检查与校正框805、第四错误检查与校正框807、每个错误检查与校正框的大小为512bytes;而第二物理程序化单元804的大小为2K bytes(2048bytes),可存储4个错误检查与校正框大小的数据,分别为第一错误检查与校正框809、第二错误检查与校正框811、第三错误检查与校正框813、第四错误检查与校正框815、每个错误检查与校正框的大小为512bytes。举例来说,假设第一物理程序化单元802的第一错误检查与校正框801的错误比特数目为3,第二错误检查与校正框803的错误比特数目为4、第三错误检查与校正框805的错误比特数目为5、第四错误检查与校正框807的错误比特数目为11;第二物理程序化单元804的第一错误检查与校正框809的错误比特数目为3,第二错误检查与校正框811的错误比特数目为4、第三错误检查与校正框813的错误比特数目为5、第四错误检查与校正框815的错误比特数目为6。
存储器控制电路单元104(或存储器管理电路202)会在写入数据到第一物理抹除单元410(0)中的物理程序化单元之前,根据所记录的物理程序化单元的错误检查与校正框的错误比特数目来判断在欲写入的物理程序化单元之中是否其中一个错误检查与校正框的错误比特数目大于错误比特数目门槛值。如上述的例子,系统预先定义的错误比特数目门槛值为10,而第一物理抹除单元410(0)的第一物理程序化单元802中第四错误检查与校正框807的错误比特数目为11,大于错误比特数目门槛值。基此,存储器控制电路单元104(或存储器管理电路202)会辨识出欲写入的第一物理程序化单元802的其中一个错误检查与校正框的错误比特数目大于错误比特数目门槛值,并且因此先将一笔虚拟数据(Dummy data)写入并填满第一物理程序化单元802。接着存储器控制电路单元104(或存储器管理电路202)会判断下一个物理程序化单元(即,第二物理程序化单元804)中是否有任何错误检查与校正框的错误比特数目大于错误比特数目门槛值。如上述的例子,第二物理程序化单元804的每个错误检查与校正框的错误比特数目都不大于错误比特数目门槛值, 因此,存储器控制电路单元104(或存储器管理电路202)会将第一数据写入第二物理程序化单元804中。
值得一提的是,在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)也可不将虚拟数据写入其中一个错误检查与校正框的错误比特数目大于错误比特数目门槛值的第一物理程序化单元802,而会先将此其中一个错误检查与校正框的错误比特数目大于错误比特数目门槛值的第一物理程序化单元802先标记为不良物理程序化单元或是先记录第一物理程序化单元802于一个不良物理程序化单元表中。之后,存储器控制电路单元104(或存储器管理电路202)判断后续的物理程序化单元中是否有任一个错误检查与校正框的错误比特数目大于错误比特数目门槛值。依序直到找到所有错误检查与校正框的错误比特数目皆非大于错误比特数目门槛值的物理程序化单元时,才写入第一数据于此所有错误检查与校正框的错误比特数目皆非大于错误比特数目门槛值的物理程序化单元。
值得一提的是,在本范例实施例中,是记录每一物理程序化单元的错误检查与校正框的错误比特数目并据此决定是否将数据写入至所选择的物理程序化单元中。然而,本发明不限于此,在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)还可将存有错误比特数目大于错误比特数目门槛的错误检查与校正框的物理程序化单元标记为不良物理程序化单元或记录于不良物理程序化单元表中。如此一来,之后,在执行写入指令时,存储器控制电路单元104(或存储器管理电路202)可根据不良物理程序化单元的标记或不良物理程序化单元表,直接在不良物理程序化单元填入虚拟数据,如此一来,可以减少需要写入数据的太阳城集团,增进写入效率。
甲、而在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)还可以在系统闲暇时,例如,一段预定太阳城集团未接收到任何指令时,检查在每个物理程序化单元中是否有任一个错误检查与校正框的错误比特数目大于错误比特数目门槛值(以下称不良的物理程序化单元)。并且,在辨识到有不良的物理程序化单元时,除了如上所述,做标记或是记录不良的物理程序化单元的步骤之外,存储器控制电路单元104(或存储器管理电路202)还检查此不良的物理程序化单元之中,是否存储有有效数据,其中倘若存储着有效数据,存储器控制电路单元104(或存储器管理电路202)将有效数据 复制到非不良的物理程序化单元中,并且将原本映射到此不良的物理程序化单元的逻辑子单元重新映射到新存储着有效数据的非不良的物理程序化单元中,而在之后此不良的物理程序化单元所属的物理抹除单元进行抹除操作之后,于写入有效数据的同时,可根据标记或是坏物理程式单元表写入虚拟数据于不良的物理程序化单元中。
乙、图10为根据本发明的范例实施例,所示出的数据存储方法的流程图。
请参照图10,在步骤S1001中,存储器控制电路单元104(或存储器管理电路202)会从主机系统1000中接收一笔第一数据,接着在步骤S1003中,存储器控制电路单元104(或存储器管理电路202)会选择一个物理抹除单元(以下称为第一物理抹除单元)的一个物理程序化单元(以下称为第一物理程序化单元)作为目标物理程序化单元,接着在步骤S1005中,存储器控制电路单元104(或存储器管理电路202)会检查在此目标物理程序化单元中是否其中一个错误检查与校正框的错误比特数目大于错误比特数目门槛值。倘若是,则接着在步骤S1007中,存储器控制电路单元104(或存储器管理电路202)会写入并填满一笔虚拟数据于此目标物理程序化单元。
在写入并填满一笔虚拟数据于此目标物理程序化单元之后,接着回到步骤S1003中,存储器控制电路单元104(或存储器管理电路202)会继续选择第一物理抹除单元的一个物理程序化单元作为目标物理程序化单元,值得注意的是,此时所选择的目标物理程序化单元为配置于刚刚存储虚拟数据的物理程序化单元之后的一个物理程序化单元,接着再执行步骤S1005。
若是在步骤S1005中判断在目标物理程序化单元中所有错误检查与校正框的错误比特数目皆非大于错误比特数目门槛值时,接着在步骤S1009中,存储器控制电路单元104(或存储器管理电路202)会写入第一数据于此目标物理程序化单元中。
综上,根据第二范例实施例的描述,可得知本发明还可以使系统基于物理程序化单元,来对不良的物理程序化单元做处理,避免将数据写入不良的物理程序化单元,造成数据损坏,也可继续使用含有不良的物理程序化单元的不良物理抹除单元,不需使用如第一范例实施例所述,将此不良物理抹除单元设定成第二程序化模式物理抹除单元来继续操作。如此一来,相较于第 一范例实施例,第二范例实施例还可以继续使用相较于第二程序化模式物理抹除单元,有着较大存储空间的非第二程序化模式物理抹除单元,同时也能达到延长可复写式非易失性存储器模块的使用寿命。
值得一提的是,于另一范例实施例中,第一范例实施例和第二范例实施例的方法也可以并存。也就是说,存储器控制电路单元104(或存储器管理电路202)可以在写入第一数据于已经设定成单层存储单元模式的物理抹除单元之前,相似于第二范例实施例的方法,检查此第二程序化模式物理抹除单元中的物理程序化单元是否有不良的物理程序化单元,写入虚拟数据到不良的物理程序化单元,再将第一数据写入非不良的物理程序化单元中,或是如上所述,可先不写入虚拟数据于不良的物理程序化单元中,而先标记或是记录此不良的物理程序化单元,再写入第一数据于非不良的物理程序化单元。而在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)还可以在此第二程序化模式物理抹除单元含有不良的物理程序化单元的数目大于一不良物理程序化单元门槛值时,再将此物理抹除单元标记为坏物理抹除单元。如此一来,可继续延长第二程序化模式物理抹除单元的使用寿命。
而在本发明概念中,错误检查与校正框在本发明的范例实施例中,只是一个用来设定检查每个物理程序化单元的错误比特数目的预设区域的大小的例子,本发明不限于此。
综上所述,本发明可基于物理抹除单元为单位或是基于物理程序化单元为单位,来对不良的物理抹除单元或是不良的物理程序化单元做处理,藉此可以增进数据存储的稳定性,同时通过继续使用不良的物理抹除单元或是不良的物理程序化单元,以延长可复写式非易失性存储器模块的使用寿命。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

关 键 词:
数据 存储 方法 存储器 控制电路 单元 装置
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:数据存储方法、存储器控制电路单元与存储器存储装置.pdf
链接地址:http://zh228.com/p-6401797.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');