• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 27
    • 下载费用:30 金币  

    重庆时时彩如何赢: 存储器管理方法、存储器控制电路单元及存储器存储装置.pdf

    关 键 词:
    存储器 管理 方法 控制电路 单元 存储 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201510526885.3

    申请日:

    2015.08.25

    公开号:

    CN106484307A

    公开日:

    2017.03.08

    当前法律状态:

    实审

    有效性:

    审中

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

    CN201510526885.3

    授权公告号:

    |||

    法律状态公告日:

    2017.04.05|||2017.03.08

    法律状态类型:

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

    摘要

    本发明提出一种存储器管理方法、存储器控制电路单元及存储器存储装置,该方法包括:选择映射到以第一操作模式来编程数据的实体单元的至少一逻辑单元;根据所选择的逻辑单元的总数来决定一参考计数;接收第一写入指令;判断参考计数是否大于门槛值;若参考计数大于门槛值,以第一操作模式将第一数据编程至第一实体单元,其中第一实体单元中的每一个存储单元都用以存储第一数目的比特数据;若参考计数不大于门槛值,以第二操作模式将第一数据编程至第二实体单元,其中第二实体单元中的每一个存储单元都用以存储第二数目的比特数据,其中第二数目大于第一数目,藉此可改善写入速度突然骤降的问题,并且可以优化数据整并程序。

    权利要求书

    1.一种存储器管理方法,用于可复写式非易失性存储器???,其特征在
    于,所述可复写式非易失性存储器??榘ǘ喔鍪堤宓ピ?,所述存储器管理
    方法包括:
    选择符合第一条件的至少一逻辑单元,其中符合所述第一条件的所述至
    少一逻辑单元映射至该些实体单元中的至少一第三实体单元,所述至少一第
    三实体单元的每一个存储单元都用以存储第一数目的比特数据且以第一操作
    模式来编程数据;
    根据所选择的所述至少一逻辑单元的总数来决定参考计数;
    接收第一写入指令;
    判断所述参考计数是否大于门槛值;
    若所述参考计数大于所述门槛值,以第一操作模式来将对应于所述第一
    写入指令的第一数据编程至该些实体单元中的至少一第一实体单元,其中每
    一所述至少一第一实体单元中的每一个存储单元都用以存储所述第一数目的
    比特数据;以及
    若所述参考计数不大于所述门槛值,以第二操作模式来将所述第一数据
    编程至该些实体单元中的至少一第二实体单元,其中每一所述至少一第二实
    体单元中的每一个存储单元都用以存储第二数目的比特数据,
    其中所述第二数目大于所述第一数目。
    2.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
    根据所配置的多个逻辑单元的总逻辑容量与该些实体单元的总实体容量
    之间的差值来决定所述参考计数的初始值。
    3.根据权利要求1所述的存储器管理方法,其特征在于,每一所述至少
    一第三实体单元所存储的数据多为有效数据。
    4.根据权利要求1所述的存储器管理方法,其特征在于,所述参考计数
    与所述可复写式非易失性存储器??橹幸运龅谝徊僮髂J嚼幢喑痰挠行?br />据的数据量成负相关。
    5.根据权利要求1所述的存储器管理方法,其特征在于,所述参考计数
    与所述至少一逻辑单元的总数成负相关。
    6.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
    执行数据整并程序以将所述参考计数从第一值调整为第二值,其中所述
    第二值大于所述第一值,
    其中所述数据整并程序包括:
    在该些实体单元中选择以所述第一操作模式编程的有效数据来执行所述
    数据整并程序;以及
    抹除该些实体单元中存储无效数据的至少一实体单元。
    7.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
    若所述至少一第三实体单元所存储的数据经过压缩,则调整所述参考计
    数。
    8.根据权利要求1所述的存储器管理方法,其特征在于,还包括:
    若该些实体单元中以所述第二操作模式来编程的数据经过压缩,则调整
    所述参考计数。
    9.一种存储器控制电路单元,用于控制可复写式非易失性存储器???,
    其特征在于,所述存储器控制电路单元包括:
    主机接口,用以电性连接至主机系统;
    存储器接口,用以电性连接至所述可复写式非易失性存储器???,所述
    可复写式非易失性存储器??榘ǘ喔鍪堤宓ピ?;以及
    存储器管理电路,电性连接至所述主机接口与所述存储器接口,
    其中所述存储器管理电路用以选择符合第一条件的至少一逻辑单元,其
    中符合所述第一条件的所述至少一逻辑单元映射至该些实体单元中的至少一
    第三实体单元,所述至少一第三实体单元的每一个存储单元都用以存储第一
    数目的比特数据且以第一操作模式来编程数据,
    其中所述存储器管理电路用以根据所选择的所述至少一逻辑单元的总数
    来决定参考计数,
    其中所述存储器管理电路用以接收第一写入指令,
    其中所述存储器管理电路用以判断所述参考计数是否大于门槛值,
    若所述参考计数大于所述门槛值,所述存储器管理电路指示以第一操作
    模式来将对应于所述第一写入指令的第一数据编程至该些实体单元中的至少
    一第一实体单元,其中每一所述至少一第一实体单元中的每一个存储单元都
    用以存储所述第一数目的比特数据,
    若所述参考计数不大于所述门槛值,所述存储器管理电路指示以第二操
    作模式来将所述第一数据编程至该些实体单元中的至少一第二实体单元,其
    中每一所述至少一第二实体单元中的每一个存储单元都用以存储第二数目的
    比特数据,
    其中所述第二数目大于所述第一数目。
    10.根据权利要求9所述的存储器控制电路单元,其特征在于,所述存储
    器管理电路根据所配置的多个逻辑单元的总逻辑容量与该些实体单元的总实
    体容量之间的差值来决定所述参考计数的初始值。
    11.根据权利要求9所述的存储器控制电路单元,其特征在于,每一所述
    至少一第三实体单元所存储的数据都为有效数据。
    12.根据权利要求9所述的存储器控制电路单元,其特征在于,所述参考
    计数与所述可复写式非易失性存储器??橹幸运龅谝徊僮髂J嚼幢喑痰挠?br />效数据的数据量成负相关。
    13.根据权利要求9所述的存储器控制电路单元,其特征在于,所述参考
    计数与所述至少一逻辑单元的总数成负相关。
    14.根据权利要求9所述的存储器控制电路单元,其特征在于,所述存储
    器管理电路用以指示执行数据整并程序以将所述参考计数从第一值调整为第
    二值,其中所述第二值大于所述第一值,
    其中所述数据整并程序包括:
    在该些实体单元中选择以所述第一操作模式编程的有效数据来执行所述
    数据整并程序;以及
    抹除该些实体单元中存储无效数据的至少一实体单元。
    15.根据权利要求9所述的存储器控制电路单元,其特征在于,若所述至
    少一第三实体单元所存储的数据经过压缩,则所述存储器管理电路调整所述
    参考计数。
    16.根据权利要求9所述的存储器控制电路单元,其特征在于,若该些实
    体单元中以所述第二操作模式来编程的数据经过压缩,则所述存储器管理电
    路根据调整所述参考计数。
    17.一种存储器存储装置,其特征在于,包括:
    连接接口单元,用以电性连接至主机系统;
    可复写式非易失性存储器???,包括多个实体单元;以及
    存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非
    易失性存储器???,
    其中所述存储器控制电路单元用以选择符合第一条件的至少一逻辑单
    元,其中符合所述第一条件的所述至少一逻辑单元映射至该些实体单元中的
    至少一第三实体单元,所述至少一第三实体单元的每一个存储单元都用以存
    储一第一数目的比特数据且以第一操作模式来编程数据,
    其中所述存储器控制电路单元用以根据所选择的所述至少一逻辑单元的
    总数来决定参考计数,
    其中所述存储器控制电路单元用以接收第一写入指令,
    其中所述存储器控制电路单元用以判断所述参考计数是否大于门槛值,
    若所述参考计数大于所述门槛值,所述存储器控制电路单元指示以第一
    操作模式来将对应于所述第一写入指令的第一数据编程至该些实体单元中的
    至少一第一实体单元,其中每一所述至少一第一实体单元中的每一个存储单
    元都用以存储所述第一数目的比特数据,
    若所述参考计数不大于所述门槛值,所述存储器控制电路单元指示以第
    二操作模式来将所述第一数据编程至该些实体单元中的至少一第二实体单
    元,其中每一所述至少一第二实体单元中的每一个存储单元都用以存储第二
    数目的比特数据,
    其中所述第二数目大于所述第一数目。
    18.根据权利要求17所述的存储器存储装置,其特征在于,所述存储器
    控制电路单元根据所配置的多个逻辑单元的总逻辑容量与该些实体单元的总
    实体容量之间的差值来决定所述参考计数的初始值。
    19.根据权利要求17所述的存储器存储装置,其特征在于,每一所述至
    少一第三实体单元所存储的数据都为有效数据。
    20.根据权利要求17所述的存储器存储装置,其特征在于,所述参考计
    数与所述可复写式非易失性存储器??橹幸运龅谝徊僮髂J嚼幢喑痰挠行?br />数据的数据量成负相关。
    21.根据权利要求17所述的存储器存储装置,其特征在于,所述参考计
    数与所述至少一逻辑单元的总数成负相关。
    22.根据权利要求17所述的存储器存储装置,其特征在于,所述存储器
    控制电路单元用以指示执行数据整并程序以将所述参考计数从第一值调整为
    第二值,其中所述第二值大于所述第一值,
    其中所述数据整并程序包括:
    在该些实体单元中选择以所述第一操作模式编程的有效数据来执行所述
    数据整并程序;以及
    抹除该些实体单元中存储无效数据的至少一实体单元。
    23.根据权利要求17所述的存储器存储装置,其特征在于,若所述至少
    一第三实体单元所存储的数据经过压缩,则所述存储器控制电路单元调整所
    述参考计数。
    24.根据权利要求17所述的存储器存储装置,其特征在于,若该些实体
    单元中以所述第二操作模式来编程的数据经过压缩,则所述存储器控制电路
    单元调整所述参考计数。

    说明书

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

    技术领域

    本发明是有关于一种存储器管理机制,且特别是有关于一种存储器管理
    方法、存储器控制电路单元及存储器存储装置。

    背景技术

    数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储
    媒体的需求也急速增加。由于可复写式非易失性存储器(rewritable non-volatile
    memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,
    最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器
    作为存储媒体的存储器存储装置。因此,近年快闪存储器产业成为电子产业
    中相当热门的一环。

    依据每个存储单元可存储的比特数,反及(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所组成的实体编程单元称为下实体编程
    单元,或下实体页面(lower physical page),并且由此些存储单元的MSB所
    组成的实体编程单元称为上实体编程单元,或上实体页面(upper physical
    page)。特别是,下实体编程单元的写入速度会快于上实体编程单元的写入
    速度,并且当编程上实体编程单元发生错误时,下实体编程单元所存储的数
    据也可能因此遗失。

    类似地,在TLC NAND型快闪存储器中,每个存储单元可存储3个比特
    的数据,其中每一个存储状态
    (即,”111”、”110”、”101”、”100”、”011”、”010”、”001”与”000”)包括每
    一个存储状态包括左侧算起的第1个比特的LSB、从左侧算起的第2个比特
    的中间有效比特(Center Significant Bit,简称CSB)以及从左侧算起的第3
    个比特的MSB。因此,排列在同一条字元线上的数个存储单元可组成3个实
    体编程单元,其中由此些存储单元的LSB所组成的实体编程单元称为下实体
    编程单元,由此些存储单元的CSB所组成的实体编程单元称为中实体编程单
    元,并且由此些存储单元的MSB所组成的实体编程单元称为上实体编程单
    元。特别是,对排列在同一条字元线上的数个存储单元进行编程时,仅能选
    择仅编程下实体编程单元或者同时编程下实体编程单元、中实体编程单元与
    上实体编程单元,否则所存储的数据可能会遗失。

    由于MLC NAND型快闪存储器下实体编程单元的存取速度会比上实体
    编程单元的写入速度快,因此如果只使用下实体编程单元来存储数据(或称为
    单页模式),就可提升MLC NAND型快闪存储器的存取速度,但其所能存储
    的数据量会变成同时使用下实体编程单元及上实体编程单元来存储的数据量
    的一半。然而,如果过度使用单页模式来存取数据,会造成已存储数据量到
    达快闪存储器可用容量一半之后因为存储空间不足而必须进行无用信息收集
    操作以释放足够空间来存储新的数据,这会造成写入速度骤降。

    发明内容

    本发明提供一种存储器管理方法、存储器控制电路单元及存储器存储装
    置,可改善由于以单页模式写入的实体单元大小没有限制,而在写入数据大
    小到达存储器存储装置的一半以后因为必须进行大量无用信息收集操作而造
    成的写入速度突然骤降的问题。

    本发明的一范例实施例提供一种存储器管理方法,用于可复写式非易失
    性存储器???,上述可复写式非易失性存储器??榘ǘ喔鍪堤宓ピ?,存储
    器管理方法包括:选择符合第一条件的至少一逻辑单元,其中符合第一条件
    的至少一逻辑单元映射至上述实体单元中的至少一第三实体单元,上述至少
    一第三实体单元的每一个存储单元都用以存储第一数目的比特数据且以第一
    操作模式来编程数据,其中每一至少一第三实体单元中的每一个存储单元都
    用以存储第一数目的比特数据;根据所选择的至少一逻辑单元的总数来决定
    一参考计数;接收第一写入指令;判断参考计数是否大于门槛值;若参考计
    数大于门槛值,以第一操作模式来将对应于第一写入指令的第一数据编程至
    上述实体单元中的至少一第一实体单元,其中每一至少一第一实体单元中的
    每一个存储单元都用以存储第一数目的比特数据;若参考计数不大于门槛值,
    以第二操作模式来将第一数据编程至上述实体单元中的至少一第二实体单
    元,其中每一至少一第二实体单元中的每一个存储单元都用以存储第二数目
    的比特数据,其中第二数目大于第一数目。

    在本发明的一范例实施例中,上述存储器管理方法还包括根据所配置的
    多个逻辑单元的总逻辑容量与上述实体单元的总实体容量之间的差值来决定
    参考计数的初始值。

    在本发明的一范例实施例中,上述每一至少一第三实体单元所存储的数
    据都为有效数据。

    在本发明的一范例实施例中,上述参考计数与可复写式非易失性存储器
    ??橹幸缘谝徊僮髂J嚼幢喑痰挠行莸氖萘砍筛合喙?。

    在本发明的一范例实施例中,上述参考计数与至少一逻辑单元的总数成
    负相关。

    在本发明的一范例实施例中,上述存储器管理方法还包括执行数据整并
    程序以将参考计数从第一值调整为第二值,其中第二值大于第一值。上述数
    据整并程序包括在上述实体单元中选择以第一操作模式编程的有效数据来执
    行数据整并程序。数据整并程序还包括抹除上述实体单元中存储无效数据的
    至少一实体单元。

    在本发明的一范例实施例中,上述存储器管理方法还包括若上述至少一
    第三实体单元所存储的数据经过压缩,则调整参考计数。

    在本发明的一范例实施例中,上述存储器管理方法还包括若上述实体单
    元中以第二操作模式来编程的数据经过压缩则调整参考计数。

    本发明的一范例实施例提供一种存储器控制电路单元,用于控制可复写
    式非易失性存储器???,存储器控制电路单元包括主机接口、存储器接口及
    存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性
    连接至可复写式非易失性存储器???,可复写式非易失性存储器??榘ǘ?br />个实体单元。存储器管理电路电性连接至主机接口与存储器接口。其中存储
    器管理电路用以选择符合第一条件的至少一逻辑单元,其中符合第一条件的
    至少一逻辑单元映射至上述实体单元中的至少一第三实体单元,至少一第三
    实体单元的每一个存储单元都用以存储第一数目的比特数据且以第一操作模
    式来编程数据。其中存储器管理电路用以根据所选择的至少一逻辑单元的总
    数来决定参考计数。其中存储器管理电路用以接收第一写入指令。其中存储
    器管理电路用以判断参考计数是否大于门槛值。若参考计数大于门槛值,存
    储器管理电路指示以第一操作模式来将对应于第一写入指令的第一数据编程
    至上述实体单元中的至少一第一实体单元,其中每一至少一第一实体单元中
    的每一个存储单元都用以存储第一数目的比特数据。若参考计数不大于门槛
    值,存储器管理电路指示以第二操作模式来将第一数据编程至上述实体单元
    中的至少一第二实体单元,其中每一至少一第二实体单元中的每一个存储单
    元都用以存储第二数目的比特数据。其中第二数目大于第一数目。

    在本发明的一范例实施例中,上述存储器管理电路根据所配置的多个逻
    辑单元的总逻辑容量与上述实体单元的总实体容量之间的差值来决定参考计
    数的初始值。

    在本发明的一范例实施例中,上述每一至少一第三实体单元所存储的数
    据都为有效数据。

    在本发明的一范例实施例中,上述参考计数与可复写式非易失性存储器
    ??橹幸缘谝徊僮髂J嚼幢喑痰挠行莸氖萘砍筛合喙?。

    在本发明的一范例实施例中,上述参考计数与至少一逻辑单元的总数成
    负相关。

    在本发明的一范例实施例中,上述存储器管理电路用以指示执行数据整
    并程序以将参考计数从第一值调整为第二值,其中第二值大于第一值。其中
    数据整并程序包括在上述实体单元中选择以第一操作模式编程的有效数据来
    执行数据整并程序。数据整并程序还包括抹除上述实体单元中存储无效数据
    的至少一实体单元。

    在本发明的一范例实施例中,若上述至少一第三实体单元所存储的数据
    经过压缩,则上述存储器管理电路调整参考计数。

    在本发明的一范例实施例中,若上述实体单元中以第二操作模式来编程
    的数据经过压缩,则上述存储器管理电路调整参考计数。

    本发明的一范例实施例提供一种存储器存储装置,包括连接接口单元、
    可复写式非易失性存储器??榧按娲⑵骺刂频缏返ピ?。连接接口单元用以电
    性连接至主机系统??筛葱词椒且资源娲⑵髂?榘ǘ喔鍪堤宓ピ?。存储
    器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器???。
    其中存储器控制电路单元用以选择符合第一条件的至少一逻辑单元,其中符
    合第一条件的至少一逻辑单元映射至上述实体单元中的至少一第三实体单
    元,至少一第三实体单元的每一个存储单元都用以存储第一数目的比特数据
    且以第一操作模式来编程数据。其中存储器控制电路单元用以根据所选择的
    至少一逻辑单元的总数来决定参考计数。其中存储器控制电路单元用以接收
    第一写入指令。其中存储器控制电路单元用以判断参考计数是否大于门槛值。
    若参考计数大于门槛值,存储器控制电路单元指示以第一操作模式来将对应
    于第一写入指令的第一数据编程至上述实体单元中的至少一第一实体单元,
    其中每一至少一第一实体单元中的每一个存储单元都用以存储第一数目的比
    特数据。若参考计数不大于门槛值,存储器控制电路单元指示以第二操作模
    式来将第一数据编程至上述实体单元中的至少一第二实体单元,其中每一至
    少一第二实体单元中的每一个存储单元都用以存储第二数目的比特数据。其
    中第二数目大于第一数目。

    在本发明的一范例实施例中,上述存储器控制电路单元根据所配置的多
    个逻辑单元的总逻辑容量与上述实体单元的总实体容量之间的差值来决定参
    考计数的初始值。

    在本发明的一范例实施例中,上述每一至少一第三实体单元所存储的数
    据都为有效数据。

    在本发明的一范例实施例中,上述参考计数与可复写式非易失性存储器
    ??橹幸缘谝徊僮髂J嚼幢喑痰挠行莸氖萘砍筛合喙?。

    在本发明的一范例实施例中,上述参考计数与至少一逻辑单元的总数成
    负相关。

    在本发明的一范例实施例中,上述存储器控制电路单元用以指示执行数
    据整并程序以将参考计数从第一值调整为第二值,其中第二值大于第一值。
    其中数据整并程序包括在上述实体单元中选择以第一操作模式编程的有效数
    据来执行数据整并程序。数据整并程序还包括抹除上述实体单元中存储无效
    数据的至少一实体单元。

    在本发明的一范例实施例中,若上述至少一第三实体单元所存储的数据
    经过压缩,则上述存储器控制电路单元调整参考计数。

    在本发明的一范例实施例中,若上述实体单元中以第二操作模式来编程
    的数据经过压缩,则上述存储器控制电路单元调整参考计数。

    基于上述,本发明所提供的存储器管理方法、存储器控制电路单元以及
    存储器存储装置,只会在参考计数大于门槛值时将以第一操作模式将第一数
    据编程至第一实体单元,藉此可改善过度利用第一操作模式将数据写入实体
    单元而造成写入速度突然骤降的问题,且因为参考计数而优化数据整并程序。

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

    附图说明

    图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置
    的示意图;

    图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置与存储
    器存储装置的示意图;

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

    图4是示出图1所示的存储器存储装置的概要方块图;

    图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模
    块的概要方块图;

    图6是根据本发明的一范例实施例所示出的存储单元阵列的示意图;

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

    图8是根据本发明的一范例实施例所示出的管理可复写式非易失性存储
    器??榈氖疽馔?;

    图9A及图9B是根据本发明的一范例实施例所示出的存储器管理方法的
    示意图;

    图10A~10D是根据本发明的另一范例实施例所示出的存储器管理方法
    的示意图;

    图11是根据本发明的一范例实施例所示出的存储器管理方法的流程图。

    附图标记说明:

    10:存储器存储装置;

    11:主机系统;

    12:电脑;

    122:微处理器;

    124:随机存取存储器;

    126:系统总线;

    128:数据传输接口;

    13:输入/输出装置;

    21:鼠标;

    22:键盘;

    23:显示器;

    24:打印机;

    25:移动硬盘;

    26:存储卡;

    27:固态硬盘;

    31:数码相机;

    32:SD卡;

    33:MMC卡;

    34:记忆棒;

    35:CF卡;

    36:嵌入式存储装置;

    402:连接接口单元;

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

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

    502:存储单元阵列;

    504:字元线控制电路;

    506:位元线控制电路;

    508:行解码器;

    510:数据输入/输出缓冲器;

    512:控制电路;

    602:存储单元;

    604:位元线

    606:字元线;

    608:共用源极线;

    612、614:晶体管;

    702:存储器管理电路;

    704:主机接口;

    706:存储器接口

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

    710:缓冲存储器;

    712:电源管理电路;

    800(0)~800(R):实体单元;

    810(0)~810(D):逻辑单元;

    802:存储区;

    806:系统区;

    S1101、S1103、S1105、S1107、S1109、S1111:存储器管理方法的步骤。

    具体实施方式

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

    图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置
    的示意图。图2是根据本发明的一范例实施例所示出的电脑、输入/输出装置
    与存储器存储装置的示意图。

    请参照图1,主机系统11一般包括电脑12与输入/输出(input/output,简称
    I/O)装置13。电脑12包括微处理器122、随机存取存储器(random access
    memory,RAM)124、系统总线126与数据传输接口128。输入/输出装置13包
    括如图2的鼠标21、键盘22、显示器23与打印机24。必须了解的是,图2
    所示的装置非限制输入/输出装置13,输入/输出装置13可还包括其他装置。

    在一范例实施例中,存储器存储装置10是通过数据传输接口128与主机
    系统11的其他元件电性连接。通过微处理器122、随机存取存储器124与输
    入/输出装置13的运作可将数据写入至存储器存储装置10或从存储器存储装
    置10中读取数据。例如,存储器存储装置10可以是如图2所示的移动硬盘
    25、存储卡26或固态硬盘(Solid State Drive,简称SSD)27等的可复写式非易
    失性存储器存储装置。

    图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置
    的示意图。

    一般而言,主机系统11为可实质地与存储器存储装置10配合以存储数
    据的任意系统。虽然在本范例实施例中,主机系统11是以电脑系统来作说明,
    然而,另一范例实施例中,主机系统11可以是数码相机、摄影机、通信装置、
    音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)31
    时,可复写式非易失性存储器存储装置则为其所使用的SD卡32、MMC卡
    33、记忆棒(memory stick)34、CF卡35或嵌入式存储装置36(如图3所示)。
    嵌入式存储装置36包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值
    得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。

    图4是示出图1所示的存储器存储装置的概要方块图。

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

    在本范例实施例中,连接接口单元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 Media Card,简称
    MMC)接口标准、崁入式多媒体存储卡(Embedded Multimedia Card,简称
    eMMC)接口标准、通用快闪存储器(Universal Flash Storage,简称UFS)接口标
    准、小型快闪(Compact Flash,简称CF)接口标准、集成驱动电子接口(Integrated
    Device Electronics,简称IDE)标准或其他适合的标准。连接接口单元402可与
    存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设
    于一包含存储器控制电路单元404的芯片外。

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

    可复写式非易失性存储器???06是电性连接至存储器控制电路单元
    404并且用以存储主机系统11所写入的数据??筛葱词椒且资源娲⑵髂??br />406可以是单阶存储单元(Single Level Cell,简称SLC)NAND型快闪存储器模
    块(即,一个存储单元中可存储1个比特数据的快闪存储器???、多阶存储单
    元(Multi Level Cell,简称MLC)NAND型快闪存储器???即,一个存储单元
    中可存储2个比特数据的快闪存储器???、复数阶存储单元(Triple Level
    Cell,简称TLC)NAND型快闪存储器???即,一个存储单元中可存储3个比
    特数据的快闪存储器???、其他快闪存储器??榛蚱渌哂邢嗤匦缘拇娲?br />器???。

    图5是根据本发明的一范例实施例所示出的可复写式非易失性存储器模
    块的概要方块图。图6是根据本发明的一范例实施例所示出的存储单元阵列
    的示意图。

    请参照图5,可复写式非易失性存储器???06包括存储单元阵列502、
    字元线控制电路504、位元线控制电路506、行解码器(column decoder)508、
    数据输入/输出缓冲器510与控制电路512。

    在本范例实施例中,存储单元阵列502可包括用以存储数据的多个存储
    单元602、多个选择门漏极(select gate drain,简称SGD)晶体管612与多个选
    择门源极(select gate source,简称SGS)晶体管614、以及连接此些存储单元的
    多条位元线604、多条字元线606、与共用源极线608(如图6所示)。存储单
    元602是以阵列方式(或立体堆叠的方式)配置在位元线604与字元线606的交
    叉点上。当从存储器控制电路单元404接收到写入指令或读取指令时,控制
    电路512会控制字元线控制电路504、位元线控制电路506、行解码器508、
    数据输入/输出缓冲器510来写入数据至存储单元阵列502或从存储单元阵列
    502中读取数据,其中字元线控制电路504用以控制施予至字元线606的电
    压,位元线控制电路506用以控制施予至位元线604的电压,行解码器508
    依据指令中的列地址以选择对应的位元线,并且数据输入/输出缓冲器510用
    以暂存数据。

    可复写式非易失性存储器???06中的每一个存储单元是以临界电压的
    改变来存储一或多个比特。具体来说,每一个存储单元的控制门(control gate)
    与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门,可以改变电
    荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程
    序也称为“把数据写入至存储单元”或“编程存储单元”。随着临界电压的改变,
    存储单元阵列502的每一个存储单元具有多个存储状态。并且通过读取电压
    可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的一或
    多个比特。

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

    请参照图7,存储器控制电路单元404包括存储器管理电路702、主机接
    口704及存储器接口706。

    存储器管理电路702用以控制存储器控制电路单元404的整体运作。具
    体来说,存储器管理电路702具有多个控制指令,并且在存储器存储装置10
    运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以
    下说明存储器管理电路702的操作时,等同于说明存储器控制电路单元404
    的操作。

    在本范例实施例中,存储器管理电路702的控制指令是以软件形式来实
    作。例如,存储器管理电路702具有微处理器单元(未示出)与只读存储器(未
    示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10
    运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与
    抹除等运作。

    在另一范例实施例中,存储器管理电路702的控制指令也可以程序码形
    式存储于可复写式非易失性存储器???06的特定区域(例如,存储器??橹?br />专用于存放系统数据的系统区)中。此外,存储器管理电路702具有微处理器
    单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此
    只读存储器具有开机码(boot code),并且当存储器控制电路单元404被触发
    时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模
    块406中的控制指令载入至存储器管理电路702的随机存取存储器中。之后,
    微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。

    此外,在另一范例实施例中,存储器管理电路702的控制指令也可以一
    硬件形式来实作。例如,存储器管理电路702包括微控制器、实体单元管理
    电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。
    实体单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与
    数据处理电路是电性连接至微控制器。其中,实体单元管理电路用以管理可
    复写式非易失性存储器???06的实体单元;存储器写入电路用以对可复写
    式非易失性存储器???06下达写入指令序列以将数据写入至可复写式非易
    失性存储器???06中;存储器读取电路用以对可复写式非易失性存储器模
    块406下达读取指令序列以从可复写式非易失性存储器???06中读取数据;
    存储器抹除电路用以对可复写式非易失性存储器???06下达抹除指令序列
    以将数据从可复写式非易失性存储器???06中抹除;而数据处理电路用以
    处理欲写入至可复写式非易失性存储器???06的数据以及从可复写式非易
    失性存储器???06中读取的数据。写入指令序列、读取指令序列及抹除指
    令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性
    存储器???06执行相对应的写入、读取及抹除等操作。

    主机接口704是电性连接至存储器管理电路702并且用以接收与识别主
    机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数
    据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,
    主机接口704是兼容于SATA标准。然而,必须了解的是本发明不限于此,
    主机接口704也可以是兼容于PATA标准、IEEE 1394标准、PCI Express标
    准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、
    eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。

    存储器接口706是电性连接至存储器管理电路702并且用以存取可复写
    式非易失性存储器???06。也就是说,欲写入至可复写式非易失性存储器
    ???06的数据会通过存储器接口706转换为可复写式非易失性存储器???br />406所能接受的格式。具体来说,若存储器管理电路702要存取可复写式非
    易失性存储器???06,存储器接口706会传送对应的指令序列。例如,这
    些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令
    序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,
    改变读取电压电平或执行数据整并程序等等)的相对应的指令序列,在此不一
    一赘述。这些指令序列例如是由存储器管理电路702产生并且通过存储器接
    口706传送至可复写式非易失性存储器???06。这些指令序列可包括一或
    多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。
    例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。

    在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电
    路708、缓冲存储器710及电源管理电路712。

    错误检查与校正电路708是电性连接至存储器管理电路702并且用以执
    行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路
    702从主机系统11中接收到写入指令时,错误检查与校正电路708会为对应
    此写入指令的数据产生对应的错误更正码(error correcting code,简称ECC)
    和/或错误检查码(error detecting code,简称EDC),并且存储器管理电路702
    会将对应此写入指令的数据与对应的错误更正码及/或错误检查码写入至可
    复写式非易失性存储器???06中。之后,当存储器管理电路702从可复写
    式非易失性存储器???06中读取数据时会同时读取此数据对应的错误更正
    码及/或错误检查码,并且错误检查与校正电路708会依据此错误更正码及/
    或错误检查码对所读取的数据执行错误检查与校正程序。

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

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

    图8是根据本发明的一范例实施例所示出的管理可复写式非易失性存储
    器??榈氖疽馔?。必须了解的是,在此描述可复写式非易失性存储器???06
    的实体单元的运作时,以“选择”、“分组”、“划分”、“关联”等词来操作实体单
    元是逻辑上的概念。也就是说,可复写式非易失性存储器??榈氖堤宓ピ?br />实际位置并未变动,而是逻辑上对可复写式非易失性存储器??榈氖堤宓ピ?br />进行操作。

    可复写式非易失性存储器???06的存储单元会构成多个实体编程单
    元,并且此些实体编程单元会构成多个实体抹除单元。具体来说,同一条字
    元线上的存储单元会组成一或多个实体编程单元。若每一个存储单元可存储
    2个以上的比特,则同一条字元线上的实体编程单元至少可被分类为下实体
    编程单元与上实体编程单元。例如,在MLC NAND型快闪存储器中,一存
    储单元的最低有效比特(Least Significant Bit,简称LSB)是属于下实体编程单
    元,并且一存储单元的最高有效比特(Most Significant Bit,简称MSB)是属于
    上实体编程单元。一般来说,下实体编程单元的写入速度会快于上实体编程
    单元的写入速度,或下实体编程单元的可靠度是高于上实体编程单元的可靠
    度。

    在本范例实施例中,实体编程单元为编程的最小单元。即,实体编程单
    元为写入数据的最小单元。例如,实体编程单元为实体页面或是实体扇
    (sector)。若实体编程单元为实体页面,则每一个实体编程单元通常包括数据
    比特区与冗余比特区。数据比特区包含多个实体扇,用以存储使用者数据,
    而冗余比特区用以存储系统数据(例如,错误更正码)。在本范例实施例中,
    数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然
    而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或
    更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,
    实体抹除单元为抹除之最小单位。也即,每一实体抹除单元含有最小数目之
    一并被抹除之存储单元。例如,实体抹除单元为实体区块。

    请参照图8,存储器管理电路702可将可复写式非易失性存储器???06
    的实体单元800(0)~800(R)逻辑地划分为多个区域,例如为存储区802与系统
    区806。

    存储区802的实体单元是用以存储来自主机系统11的数据。存储区802
    中会存储有效数据与无效数据。例如,当主机系统要删除一份有效数据时,
    被删除的数据可能还是存储在存储区802中,但会被标记为无效数据。在以
    下范例实施例中,没有存储有效数据的实体单元也被称为闲置(spare)实体单
    元。例如,被抹除以后的实体单元便会成为闲置实体单元。此外,在以下范
    例实施例中,有存储有效数据的实体单元也被称为非闲置(non-spare)实体单
    元。

    在一范例实施例中,若存储区802或系统区806中有实体单元损坏时,
    存储区802中的实体单元也可以用来替换损坏的实体单元。倘若存储区802
    中没有可用的实体单元来替换损坏的实体单元时,则存储器管理电路702可
    能会将整个存储器存储装置10宣告为写入?;?write protect)状态,而无法再
    写入数据。

    系统区806的实体单元是用以记录系统数据,其中此系统数据包括关于
    存储器晶片的制造商与型号、存储器晶片的实体抹除单元数、每一实体抹除
    单元的实体编程单元数等。

    在一范例实施例中,存储区802与系统区806的实体单元的数量会依据
    不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10
    的运作中,实体单元关联至存储区802与系统区806的分组关系可能会动态
    地变动。例如,当系统区806中的实体单元损坏而被存储区802的实体单元
    取代时,则原本在存储区802的实体单元会被关联至系统区806。

    在本范例实施例中,存储器管理电路702会配置逻辑单元810(0)~810(D)
    以映射至存储区802中的实体单元800(0)~800(A)。例如,在本范例实施例中,
    主机系统11是通过逻辑地址来存取存储区802中的数据,因此,每一个逻辑
    单元810(0)~810(D)是指一个逻辑地址。此外,在一范例实施例中,每一个逻
    辑单元810(0)~810(D)也可以是指一个逻辑扇、一个逻辑页、一个逻辑抹除单
    元或者由多个连续或不连续的逻辑地址组成。

    在本范例实施例中,每一个逻辑单元810(0)~810(D)是映射至一或多个实
    体单元。每一个实体单元可以是指一个实体编程单元、一个实体抹除单元或
    者由多个连续或不连续的实体地址组成。存储器管理电路702会将逻辑单元
    与实体单元之间的映射关系记录于至少一逻辑-实体映射表。当主机系统11
    欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储
    器管理电路702可根据此逻辑-实体映射表来执行对于存储器存储装置10的
    数据存取。

    在本范例实施例中,以可复写式非易失性存储器???06属于MLC
    NAND型快闪存储器??槲?,存储器管理电路702可以使用单页模式(以下
    也称为第一操作模式)或多页模式(以下也称为第二操作模式)来操作可复写式
    非易失性存储器???06中的任一实体单元。以第一操作模式操作的实体单
    元中的每个存储单元只会存储一个比特数据(即,第一数目的比特数据),也就
    是以第一操作模式操作的实体单元只会使用下实体编程单元来存储数据。而
    以第二操作模式操作的实体单元中的每个存储单元可存储两个比特数据(即,
    第二数目的比特数据),也就是以第二操作模式操作的实体单元可使用下实体
    编程单元及上实体编程单元来存储数据。

    图9A及图9B是根据本发明的一范例实施例所示出的存储器管理方法的
    示意图。

    首先,存储器管理电路702会先根据可复写式非易失性存储器???06
    的总逻辑容量与可复写式非易失性存储器???06的总实体容量之间的差值
    来决定一个参考计数的初始值。详细来说,可复写式非易失性存储器???06
    的总逻辑容量为逻辑单元810(0)~810(D)的总逻辑容量,而可复写式非易失性
    存储器???06的总实体容量为实体单元800(0)~800(A)的总实体容量。存储
    器管理电路702会根据总实体容量扣除总逻辑容量所得到的差值来决定参考
    计数的初始值。这个初始值代表了可以使用第一操作模式写入实体单元的逻
    辑数据量的最大值。当存储器管理电路702已经使用第一操作模式将对应逻
    辑单元的数据写入实体单元之后,参考计数会等于初始值扣掉已经以第一操
    作模式写入实体单元的逻辑数据量,其中,此逻辑数据量为所有存储于逻辑
    单元中的数据的总数据量?;痪浠八?,参考计数代表了当存储器管理电路702
    已经使用第一操作模式将逻辑数据写入实体单元之后,还可以使用第一操作
    模式写入实体单元的逻辑数据量。在下文中,参考计数将会使用N来表示。

    值得注意的是,在计算N时,可以使用逻辑抹除单元、逻辑编程单元、
    逻辑扇或逻辑地址作为N的最小单位。举例来说,假设可复写式非易失性存
    储器???06有120个逻辑单元及128个实体单元。为了方便说明,在本范
    例实施例中,假设逻辑单元为逻辑抹除单元且每一个逻辑抹除单元包括256
    个逻辑编程单元,并假设实体单元为实体抹除单元且每一个实体抹除单元包
    括256个实体编程单元。在本范例实施例中,N的初始值会对应于128-120=8
    个逻辑抹除单元的逻辑容量。例如,若N是以逻辑抹除单元为最小单位,则
    N的初始值=8;若N是以逻辑编程单元为最小单位,则N的初始值
    =8*256=2048。

    请参照图9A,假设目前并没有逻辑数据以第一操作模式写入实体单元,
    则此时N会等于初始值。当存储器管理电路702从主机系统11接收一写入
    指令(以下也称为第一写入指令)时,根据第一写入指令,存储器管理电路702
    会将对应于第一写入指令的写入数据(以下也称为第一数据)存储至一个逻辑
    单元,例如逻辑单元810(0)。在将第一数据存储至逻辑单元810(0)之后,存
    储器管理电路702会判断N是否大于一门槛值,在此,门槛值设定为0,且
    N大于门槛值代表了映射到以第一操作模式操作的实体单元的逻辑单元所存
    储的逻辑数据量尚未到达N的初始值。

    若N大于门槛值,则存储器管理电路702会指示可复写式非易失性存储
    器???06以第一操作模式将第一数据写入一实体单元,例如,存储器管理
    电路702会将逻辑单元810(0)映射到实体单元800(0)并指示可复写式非易失
    性存储器???06将第一数据以第一操作模式写入实体单元800(0)。此时,
    由于逻辑单元810(0)所映射到的实体单元800(0)中的数据是以第一操作模式
    来写入,因此逻辑单元810(0)会被视为符合第一条件的逻辑单元。

    若N不大于门槛值,也就是N=0,代表了已使用第一操作模式写入实体
    单元的逻辑数据量已达到N的初始值,因此存储器管理电路702会以第二操
    作模式将第一数据写入一实体单元,例如,存储器管理电路702会将逻辑单
    元810(0)映射到实体单元800(1)并将第一数据以第二操作模式写入实体单元
    800(1),如图9B所示。

    以上已经说明了当存储器管理电路702要将数据写入实体单元时,会根
    据N大于或不大于门槛值,判断将数据以第一操作模式或第二操作模式写入
    实体单元。

    在一范例实施例中,存储器管理电路702选择符合第一条件的至少一逻
    辑单元,并根据所选择的逻辑单元的总数来决定N。例如,在本范例实施例
    中,符合第一条件的逻辑单元只有逻辑单元810(0),因此存储器管理电路702
    会选择逻辑单元810(0),并根据所选择的逻辑单元810(0)来决定N,其中N
    的大小会跟这些被选择的符合第一条件的逻辑单元的总数成负相关。在图9A
    中,由于相当于逻辑单元810(0)的容量的逻辑数据已经以第一操作模式写入
    实体单元800(0),使得还可以使用第一操作模式写入实体单元的逻辑数据量
    变少了,因此存储器管理电路702会根据逻辑单元810(0)的容量,将N重新
    调整为N减掉逻辑单元810(0)的容量?;痪浠八?,N也会与以第一操作模式
    来写入的有效数据的数据量成负相关。又例如在图9B中,在第一数据写入实
    体单元800(1)之后,由于以第一操作模式写入实体单元的逻辑数据量没有改
    变,也就是映射到存储有以第一操作模式来编程的数据的实体单元的逻辑单
    元的总数没有改变(符合第一条件的逻辑单元的总数没有改变),因此N的值
    也不会改变。

    在另一方面,若存储器管理电路702接收到一指令指示删除存储于某一
    个逻辑单元的数据时,存储器管理电路702会先判断此逻辑单元所映射的实
    体单元是用第一操作模式来编程数据或用第二操作模式来编程数据。若此逻
    辑单元所映射到的实体单元是用第一操作模式来编程数据,则存储器管理电
    路702会将此逻辑单元所映射到的实体单元中的数据设成无效数据并删除此
    逻辑单元中的数据;由于可使用第一操作模式写入实体单元的逻辑数据量变
    多了,存储器管理电路702会将N调整为N加上此逻辑单元的容量。若此逻
    辑单元所映射到的实体单元是用第二操作模式来编程数据,则存储器管理电
    路702会将此逻辑单元所映射到的实体单元中的数据设成无效数据并删除此
    逻辑单元中的数据;然而,由于可使用第一操作模式写入实体单元的逻辑数
    据量并没有改变,因此N的值并不会改变。

    值得注意的是,在一范例实施例中,存储器管理电路702可对可复写式
    非易失性存储器???06执行数据整并程序。例如,此数据整并程序可在可
    复写式非易失性存储器???06处于闲置状态时或任意时间点执行。在数据
    整并程序中,存储器管理电路702会从至少一个实体单元提取有效数据,将
    有效数据收集到另一实体单元中,并且抹除有效数据都已被提取出来的实体
    单元。例如,存储器管理电路702可从可复写式非易失性存储器???06中
    找出部分容量存储有效数据(以下又称为第二数据)且其他容量都存储无效数
    据的实体单元,并且判断第二数据是以第一操作模式或第二操作模式来编程。
    若第二数据是以第一操作模式来编程,则存储器管理电路702会将第二数据
    搬移到另一实体单元中进行存储(即,将第二数据以第一操作模式编程到另一
    实体单元),并抹除原本存储第二数据的实体单元。也就是说,在一范例实施
    例的数据整并程序中,存储器管理电路702会在实体单元中选择以第一操作
    模式编程的有效数据来执行数据整并程序。假设数据整并程序将一笔第二数
    据从某一个实体抹除单元搬移到某一个实体编程单元且此实体抹除单元被抹
    除,则在数据整并程序之前N的值为第一值,并且在数据整并程序之后,存
    储器管理电路702会将N的值调整为第二值。其中第二值为对应于第一值加
    上此被抹除之实体抹除单元的容量再扣掉存储第二数据的实体编程单元的容
    量,故第二值会大于第一值。若第二数据是以第二操作模式来编程,则存储
    器管理电路702将不会搬移第二数据。但是,在另一数据整并程序中,若第
    二数据是以第二操作模式来编程,则第二数据也可能被搬移。

    值得注意的是,在本范例实施例中,相较于一般数据整并程序会直接对
    有效数据量最少的实体单元作数据整并,本范例实施例的数据整并程序会确
    认此实体单元是使用第一操作模式操作才会对其进行数据整并操作。另外,
    也可找出有效数据量最少的实体单元与上述步骤一并执行。例如,若存储器
    管理电路702找到了一个有效数据量最少的实体单元,但是此实体单元是使
    用第二操作模式操作时,则存储器管理电路702可能不会对此实体单元进行
    数据整并程序,反而会找出有效数据量次少可是使用第一操作模式操作的实
    体单元来进行数据整并程序。

    图10A~10D是根据本发明的另一范例实施例所示出的存储器管理方法
    的示意图。

    当存储器管理电路702将数据从逻辑单元写入实体单元时,可先对逻辑
    单元的数据进行压缩之后再写入实体单元。为了说明方便,以下将假设存储
    器管理电路702可以使用以下四种压缩解析度来压缩数据:1k、2k、3k及4k。
    其中,1k压缩解析度代表将每4k字节的数据压缩成1k字节,也就是将数据
    压缩成压缩前数据的1/4大??;2k压缩解析度代表将每4k字节的数据压缩成
    2k字节,也就是将数据压缩成压缩前数据的1/2大??;3k压缩解析度代表将
    每4k字节的数据压缩成3k字节,也就是将数据压缩成压缩前数据的3/4大
    ??;4k压缩解析度代表并未对数据进行压缩。

    在一范例实施例中,存储器管理电路702会根据映射到以第一操作模式
    操作的实体单元的逻辑单元的总数与以第一操作模式操作的实体单元所存储
    的数据是否经过压缩来调整N,及/或根据以第二操作模式操作的实体单元所
    存储的数据是否经过压缩来调整N。例如,存储器管理电路702会判断要从
    逻辑单元写入实体单元的数据是否进行压缩,若从逻辑单元写入实体单元的
    数据并未进行压缩,则N的调整方式已经在图9A及图9B说明,因此就不再
    赘述。若从逻辑单元写入实体单元的数据已进行压缩,存储器管理电路702
    会进一步判断压缩解析度,例如,判断压缩解析度为2k或1k,并将N作出
    对应的调整。当存储器管理电路702对欲写入以第一操作模式操作的实体单
    元的数据进行压缩并将压缩后的数据以第一操作模式写入实体单元之后,N
    可能会维持不变或增加。当存储器管理电路702对欲写入以第二操作模式操
    作的实体单元的数据进行压缩并将压缩后的数据以第二操作模式写入实体单
    元之后,N也可能会维持不变或增加。也就是说,若第一操作模式操作的实
    体单元所存储之数据经过压缩,则N可对应调整。若第二操作模式操作的实
    体单元中以该第二操作模式来编程之数据经过压缩,N也可对应调整。N的
    详细调整方式将于图10A~10D中举例说明。

    在图10A中,假设存储器管理电路702以2k的解析度对逻辑单元810(0)
    的数据进行压缩并将压缩后的数据以第一操作模式写入一实体单元,例如写
    入实体单元800(0)。由于压缩后数据的大小为压缩前数据的1/2且实体单元
    800(0)以第一操作模式来操作只能使用其1/2的容量,因此压缩后的数据刚好
    可写入实体单元800(0)的所有下实体编程单元中,如图10A所示。因为在逻
    辑单元810(0)的数据并未压缩的情况下将逻辑单元810(0)的数据以第一操作
    模式写入一实体单元时,其数据量必须以两个实体单元的所有下实体编程单
    元来存储,例如以实体单元800(0)及实体单元800(1)的所有下实体编程单元
    来存储,而逻辑单元810(0)及实体单元800(0)及实体单元800(1)的映射关系
    如图10A的实线及虚线所示。因此在以2k解析度写入压缩数据的情况中,
    相对于并未压缩的情况多出了一个实体单元800(1)的所有下实体编程单元的
    空间,使得另一个逻辑单元,例如逻辑单元810(1),可使用2k解析度对其数
    据进行压缩以第一操作模式写入实体单元800(1),因此在以2k解析度压缩逻
    辑单元810(0)的数据并写入实体单元800(0)之后,N的值并不会改变。

    在图10B中,假设存储器管理电路702以1k的解析度对逻辑单元810(0)
    的数据进行压缩并将压缩后的数据以第一操作模式写入一实体单元,例如写
    入实体单元800(0)。由于压缩后数据的大小为压缩前数据的1/4,因此压缩后
    的数据会占有实体单元800(0)的1/4容量,如图10B所示。由于在逻辑单元
    810(0)的数据进行压缩并以第一操作模式写入实体单元800(0)之后,实体单元
    800(0)还有1/4容量的下实体编程单元的可用空间,使得另一个逻辑单元,例
    如逻辑单元810(1),可以1k的解析度对逻辑单元810(1)的数据进行压缩并将
    压缩后的数据以第一操作模式写入实体单元800(0)的剩余空间,如图10B所
    示,因此N的值会小幅增加。

    在图10C中,假设存储器管理电路702以2k的解析度对逻辑单元810(0)
    的数据进行压缩并将压缩后的数据以第二操作模式写入一实体单元,例如写
    入实体单元800(2)。由于数据已经被压缩成原本大小的1/2,因此将逻辑单元
    810(0)的数据全部写入实体单元800(2)之后,实体单元800(2)还有1/2的可用
    容量,而这些容量可以用于以第一操作模式存储数据,因此N的值会随之增
    加。但是,以第二操作模式操作的实体单元800(2)的1/2容量,用于以第一操
    作模式操作时,相当于只有实体单元800(2)的1/4容量(以第一操作模式操作
    的实体单元的存储单元存储比特数1为以第二操作模式操作的实体单元的存
    储单元存储比特数2的一半),因此N的值会调整为N加上实体单元800(2)
    的1/4容量。

    值得注意的是,虽然以上说明了通过数据压缩产生可以第一操作模式操
    作的实体单元800(2)的1/4的容量,但这并不代表存储器管理电路702会用第
    一操作模式操作实体单元800(2)中并未存储有效数据的容量,也就是说同一
    个实体单元不会使用不同的写入模式来操作。例如,当两个逻辑单元的数据
    都被以2k的解析度压缩数据并以第二操作模式写入同一个实体单元时,则另
    一个尚未存储有效数据的实体单元就可以使用第一操作模式来操作。

    在图10D中,假设存储器管理电路702以1k的解析度对逻辑单元810(0)
    的数据进行压缩并将压缩后的数据以第二操作模式写入一实体单元,例如写
    入实体单元800(2)。由于数据已经被压缩成原本大小的1/4,因此将逻辑单元
    810(0)的数据全部写入实体单元800(2)之后,实体单元800(2)还有3/4的可用
    容量,而这些容量可以用于以第一操作模式存储数据,因此N的值会随之增
    加。但是,以第二操作模式操作的实体单元800(2)的3/4容量,用于以第一操
    作模式操作时,相当于只有实体单元800(2)的3/8容量(以第一操作模式操作
    的实体单元的存储单元存储比特数1为以第二操作模式操作的实体单元的存
    储单元存储比特数2的一半),因此N的值会调整为N加上实体单元800(2)
    的3/8容量。

    图11是根据本发明的一范例实施例所示出的存储器管理方法的流程图。

    请参照图11,在步骤S1101中,选择符合第一条件的至少一逻辑单元,
    其中符合第一条件的至少一逻辑单元映射至多个实体单元中的至少一第三实
    体单元,所述至少一第三实体单元的每一个存储单元都用以存储第一数目的
    比特数据且以第一操作模式来编程数据。在步骤S1103中,根据所选择的至
    少一逻辑单元的总数来决定参考计数。在步骤S1105中,接收第一写入指令。
    在步骤S1107中,判断参考计数是否大于门槛值。若参考计数大于门槛值,
    在步骤S1109中,以第一操作模式来将对应于第一写入指令的第一数据编程
    至实体单元中的至少一第一实体单元,其中所述至少一第一实体单元的每一
    者中的每一个存储单元都用以存储第一数目的比特数据。若参考计数不大于
    门槛值,在步骤S1111中,以第二操作模式来将第一数据编程至所述实体单
    元中的至少一第二实体单元,其中所述至少一第二实体单元的每一者中的每
    一个存储单元都用以存储第二数目的比特数据。其中第二数目大于第一数目。

    综上所述,本发明所提供的存储器管理方法、存储器控制电路单元以及
    存储器存储装置,只会在参考计数大于门槛值时以第一操作模式将欲存储的
    数据编程至实体单元,藉此可改善过度利用第一操作模式将数据写入实体单
    元而造成的写入速度突然骤降的问题,且因为参考计数而优化数据整并程序。

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

    关于本文
    本文标题:存储器管理方法、存储器控制电路单元及存储器存储装置.pdf
    链接地址://www.4mum.com.cn/p-6004614.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 宁夏11选5怎么中奖 湖北11选5走势图 重庆百变王牌开奖号码 银河棋牌安全吗 幸运飞艇pk10开奖记录天天 河南快赢481视频在线直播 广东十一选五遗漏规律 9月14日上证指数 安徽十一选五开什么号 极速飞艇开奖网是多少 3D投注技巧新发现 快彩乐老11选5 福彩双色球开奖历史记录 加拿大快乐8和值 北京十一选五开奖结果 水井坊股票